]> Pileus Git - ~andy/gtk/blob - ChangeLog
Released 1.3.2
[~andy/gtk] / ChangeLog
1 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
2
3         * Released 1.3.2
4         
5         * NEWS: Updates for 1.3.2
6
7 2000-11-17  Tor Lillqvist  <tml@iki.fi>
8
9         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
10         but in general for window system specific events.
11
12         * gtk/gtk.def
13         * gtk/makefile.mingw.in
14         * gtk/makefile.msc.in: Update.
15         
16         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
17
18 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
19
20         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
21         distribute gtk.immodules.
22
23         * gtk/Makefile.am (install-data-local): Don't install the
24         gtk.immodules file created for the uninstalled modules;
25         instead run gtk-query-immodules after install
26
27 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
28
29         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
30         -rpath to the right install location.
31
32         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
33         -export-dynamic.
34
35         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
36         properly.
37
38 2000-11-15  Havoc Pennington  <hp@pobox.com>
39
40         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
41         patch from Mikael Hermansson to temporarily stop blinking while
42         the user is using the keyboard to type or navigate. 
43
44         Also, when blinking, stay on for longer than we stay off. Also,
45         return from start_cursor_blink if !cursor_visible, to save
46         checking that flag all over the place before we call
47         start_cursor_blink.
48
49 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
50
51         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
52         only contain a "fontset" line, which is now ignored.
53
54         * gtk/gtkentry.c (gtk_entry_button_release): Make 
55         double-click-to-select-word work.
56         
57 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
58
59         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
60         Don't move back one char when we are actually at the end of the 
61         paragraph.
62
63 2000-11-15  Robert Brady  <robert@suse.co.uk>
64
65         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
66         'o' < 'p'.
67         
68         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
69         bind_textdomain_codeset.
70
71         (gtk_init_check): Make the warning about translating default:LTR
72         sterner.
73         
74 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
75
76         * **/Makefile.am : remove unecessary rules for win32-specific
77         config-substituted targets. If you want these rules, use
78         --enable-maintainer-mode (called automatically by autogen.sh).
79         Stops a lot of unneccessary make-time warnings.
80
81         * gtk/gtktext{layout,display}.c: Factor in total width as
82         well as screen when figuring alignment for word-wrap as well as
83         no wrap; this is necessary to handle lines that cannot be wrapped
84         at all.
85
86 2000-11-15  Havoc Pennington  <hp@redhat.com>
87
88         * gtk/testtext.c: Implement essential color cycling feature
89
90 2000-11-15  Havoc Pennington  <hp@redhat.com>
91
92         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
93         when we invalidate the main window.
94
95         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
96         GtkTextView will now invalidate the side windows for us when text
97         changes.
98
99 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
100
101         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
102         unconditionally, since we may need to update the horizontal
103         scrollbars even if the height didn't change.
104
105         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
106         the extra attrs, since some of them affect size.
107
108         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
109         x_offset correctly.
110
111 2000-11-15  Havoc Pennington  <hp@redhat.com>
112
113         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
114         don't move the first line out into the margin, instead move the
115         whole paragraph in order to make space for the first line within 
116         the margin
117
118 2000-11-15  Havoc Pennington  <hp@redhat.com>
119
120         * gtk/gtktextview.c (changed_handler): offset redraw rect by
121         xoffset in addition to yoffset, so horizontal scrolling doesn't
122         break redraws
123
124 2000-11-15  Havoc Pennington  <hp@redhat.com>
125
126         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
127         from the cursor
128         (render_layout_line): fix reversed test that caused weird
129         underlines to get drawn
130
131 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
132
133         * gdk/linux-fb/gdkprivate-fb.h:
134         Fix debug macros.
135         
136 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
137
138         * gdk/linux-fb/gdkprivate-fb.h:
139         Added virtual functions set_pixel, get_color,
140         fill_span and draw_drawable to the GC.
141         Added global _gdk_fb_screen_gc to use instead of
142         NULL when drawing to the screen.
143         Added _gdk_fb_gc_calc_state() prototype.
144
145         * gdk/linux-fb/gdkgc-fb.c:
146         Call _gdk_fb_gc_calc_state() on any gc state change.
147
148         * gdk/linux-fb/gdkglobals-fb.c:
149         Add _gdk_fb_screen_gc
150                 
151         * gdk/linux-fb/gdkdrawable-fb2.c:
152         _gdk_fb_gc_calc_state() calculates best functions
153         for the GC state and depth.
154         Moved bpp specialized code to separate functions.
155         Added optimized 24 bpp AA draw_drawable.
156
157         * gdk/linux-fb/gdkevents-fb.c:
158         Silence gcc warning.
159
160         * gdk/linux-fb/gdkimage-fb.c:
161         Use _gdk_fb_screen_gc
162
163         * gdk/linux-fb/gdkwindow-fb.c:
164         Init and use _gdk_fb_screen_gc
165
166         * gdk/linux-fb/mitypes.h:
167         Remove unused types.
168
169 2000-11-14  Havoc Pennington  <hp@pobox.com>
170
171         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
172         to pixels
173
174 2000-11-14  Havoc Pennington  <hp@pobox.com>
175
176         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
177
178         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
179         unknown char, no real reason we were using a variable. 
180         Remove gtk_text_unknown_char variable. Fix all the text widget
181         files accordingly.
182
183         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
184         since the Unicode spec seems to prefer that character for our
185         purposes.
186
187 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
188
189         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
190         value of g_getenv() isn't freeable, so g_strdup it.
191
192         * modules/input/inuktitut.c: Inuktitut input method.
193
194         * modules/input/Makefile.am: Build this.
195         
196 2000-11-14  Elliot Lee  <sopwith@redhat.com>
197
198         * gtk/Makefile.am: Install gtk.immodules, needed for operation
199         of gtk programs.
200
201 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
202
203         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
204         reversed > that was causing Home to go to end of previous line.
205
206         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
207         modified-keypresses (leave for bindings.)
208
209         * modules/input/Makefile.am: Remove useless -export-dynamic
210         from module LDFLAGS.
211
212 2000-11-14  Havoc Pennington  <hp@redhat.com>
213
214         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
215         higher.
216
217         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
218         account. Also, render rise, underline, background, etc. for
219         pixbufs as well as text. Also, draw underlines one pixel higher.
220
221         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
222         PangoAttribute for the rise, so it gets drawn properly. Also,
223         add the GtkTextAppearance attribute for pixbuf/widget segments
224         as well; we should go ahead and have rise, underline, background,
225         stipple work for those
226
227         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
228         Pango
229
230 2000-11-15  Tor Lillqvist  <tml@iki.fi>
231
232         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
233
234         * gtk/gtk.def: Update.
235
236         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
237         included.
238         (gtk_rc_get_im_module_file): Use run-time installation directory
239         on Win32.
240
241         * gdk/win32/rc/gdk.rc: Remove.
242         * gdk/win32/rc/gdk.rc.in: New file.
243         * gdk/win32/rc/Makefile.am: New file
244         * gdk/win32/Makefile.am: Corresponding changes.
245
246         * gtk/gtk.rc: Remove.
247         * gtk/gtk-win32.rc.in: New file.
248         * gtk/Makefile.am: Corresponding changes.
249
250         * configure.in: Corresponding changes.
251
252         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
253         has a built gtkcompat.h. Developers using CVS code on Win32 can
254         hand-edit it from gtkcompat.h.in.
255
256         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
257         gtkcompat.h from gtkcompat.h.win32.
258
259 2000-11-14  Havoc Pennington  <hp@redhat.com>
260
261         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
262         to default to GDK_ACTION_MOVE if the drag is within a single
263         widget. Defaults to GDK_ACTION_COPY between widgets.
264
265 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
266
267         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
268
269         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
270
271         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
272         srcdir != builddir
273
274         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
275
276         * configure.in (GTK_VERSION): Up to 1.3.2
277
278         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
279         gtkimcontextxim.h
280
281         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
282         missing doc comment.
283
284 2000-11-14  Alexander Larsson  <alexl@redhat.com>
285
286         * modules/linux-fb/basic.c:
287         Use the glib iconv wrappers.
288
289 2000-11-13  Havoc Pennington  <hp@pobox.com>
290
291         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
292         still more bugs.
293
294         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
295         scroll the GdkWindows before realization.
296
297 2000-11-13  Havoc Pennington  <hp@redhat.com>
298
299         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
300         where GC didn't always get updated properly
301
302         * demos/gtk-demo/textview.c (create_tags): Use subattributes
303         of fonts instead of setting the entire font
304
305         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
306         setting entire font
307
308         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
309
310         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
311         a bunch of individually-settable font attributes. You can still 
312         use the "font" and "font_desc" args, they just set all the font
313         attributes at once.
314
315 2000-11-13 Elliot Lee <sopwith@redhat.com>
316
317         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
318
319 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
320
321         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
322         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
323
324         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
325         work better.
326
327 2000-11-13  Havoc Pennington  <hp@redhat.com>
328
329         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
330         the module file.
331
332         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
333         dest->language
334
335         * gtk/testtext.c: Test pixels above/below/inside paragraphs
336         settings
337
338         * gtk/gtktextview.c: Implement object args and setters/getters for
339         all the aspects of the GtkTextAttributes that are not set from
340         GtkWidget attributes. This is spacing, justification, margins,
341         etc.
342
343         (gtk_text_view_set_arg)
344         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
345         args
346         (gtk_text_view_class_init): Add args for justify, left_margin,
347         right_margin, indent, and tabs
348         
349
350         * gtk/gtktextlayout.c (set_para_values): fix to display indent
351         attribute properly
352
353         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
354         replace with indent attribute
355
356         * gtk/gtktextlayout.c (set_para_values): multiply indent by
357         PANGO_SCALE
358
359         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
360         rearranging code to do that
361         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
362         i.e. don't subtract the top_margin first, just to keep
363         all margin-futzing in one place.
364
365         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
366
367         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
368         special case of last line, Pango now handles this itself.
369         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
370         Y coordinate
371         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
372         (find_display_line_above): wasn't moving the byte index as it
373         iterated over lines, so always returned byte 0. Also, port to use
374         PangoLayoutIter.
375         (find_display_line_below): same problem as
376         find_display_line_above. Also, port to use PangoLayoutIter.
377
378 2000-11-13  Alexander Larsson  <alexl@redhat.com>
379
380         * gdk/linux-fb/*.[ch]:
381         Massive reindent to gtk+ standard. My hands hurt.
382
383         * gdk/linux-fb/gdkcolor-fb.c:
384         Move GdkColorPrivateFB from inherited to windowing_data
385
386         * gdk/linux-fb/gdkcursor-fb.c:
387         _gdk_cursor_new_from_pixmap made static
388
389         * gdk/linux-fb/gdkdnd-fb.c:
390         GdkDragContextPrivate moved to windowing_data
391
392         * gdk/linux-fb/gdkdrawable-fb2.c:
393         Removed endian.h, use glib endianness macros instead
394         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
395         and GDK_DRAWABLE_IMPL_FBDATA
396
397         * gdk/linux-fb/gdkfont-fb.c:
398         Add empty gdk_font_load(). Needed for linking of Gtk+.
399
400         * gdk/linux-fb/gdkimage-fb.c:
401         Removed endian.h, use glib endianness macros instead
402         Moved GdkImagePrivateFB to windowing_data
403         gdk_image_new_bitmap didn't always allocate enough
404         memory.
405
406         * gdk/linux-fb/gdkinput-ps2.c:
407         Added semi-working support for MS serial mice.
408
409         * gdk/linux-fb/gdkprivate-fb.h:
410         s/GdkWindowPrivate/GdkWindowObject/
411         Removed GdkWindowPrivate typedef
412         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
413         Removed GDK_DRAWABLE_P
414         Move GdkColorPrivateFB from inherited to windowing_data
415         Moved GdkImagePrivateFB to windowing_data
416
417         * gdk/linux-fb/gdkvisual-fb.c:
418         Removed some unused debug code.
419
420         * gdk/linux-fb/gdkwindow-fb.c:
421         Use stock cursors instead of including X headers.
422         s/GdkWindowPrivate/GdkWindowObject/
423
424         * gdk/linux-fb/mitypes.h:
425         Removed unused types.
426
427         * modules/linux-fb/basic.c:
428         Use the pango fribidi wrappers.
429
430 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
431
432         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
433         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
434         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
435         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
436         GEqualFunc where applicable.
437         
438         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
439         pango_font_description_equal as changed in pango.
440         
441         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
442
443         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
444
445         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
446
447         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
448
449         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
450
451         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
452
453         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
454         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
455
456         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
457         gtk_rc_styles_compare -> gtk_rc_styles_equal.
458
459 2000-11-12  Havoc Pennington  <hp@pobox.com>
460
461         * demos/gtk-demo/Makefile.am (democodedir): change demo install
462         dir to datadir/gtk+-2.0/demo
463
464         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
465         sorts of text widget and Pango font bugs. Urgh.
466
467         * demos/gtk-demo/Makefile.am (demos): Add textview.c
468
469         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
470         tree that you should double click to see the demo. Fix 
471         types of variables to reflect changed return values from 
472         GtkTreeStore and GtkTreeViewColumn constructors.
473
474         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
475         newly-created buffer to prepare for GObject semantics
476
477         * gtk/testtext.c: don't leak the buffer with GObject semantics
478
479         * gtk/testtextbuffer.c: ditto
480         
481 2000-11-12  Havoc Pennington  <hp@pobox.com>
482
483         Rename this testgtk to gtk-demo to avoid confusion, and 
484         install it so people can use it as a supplement to 
485         the documentation.
486         
487         * demos/gtk-demo: Moved from demos/testgtk
488
489         * demos/testgtk: Removed
490
491         * configure.in: make Makefile in gtk-demo
492         
493         * demos/gtk-demo/Makefile.am: Install sample source to 
494         datadir/gtk-demo (maybe there's a better place?), and 
495         rename the binary to gtk-demo
496         
497         * demos/gtk-demo/main.c (load_file): Load installed sample
498         source if source isn't found in pwd.
499
500 2000-11-09  Havoc Pennington  <hp@pobox.com>
501
502         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
503         argument to set the char displayed when visibility == FALSE
504         (gtk_entry_create_layout): If !entry->visible, replace 
505         all chars with the "invisible char"
506
507         * gtk/testgtk.c: Test the invisible_char deal
508         
509 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
510
511         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
512         can't get a native font in the right encoding.
513
514 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
515
516         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
517         respectively.
518
519 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
520
521         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
522         Fix warning when moving between paragraphs.
523
524         * gtk/gtkentry.[ch]: Change move => move_cursor, 
525         delete => delete_from_cursor, insert => insert_at_cursor
526
527 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
528
529         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
530
531         * modules/input/imthai-broken.c: A Thai input method for use if
532         Thai keys are really generating Latin1 keysyms.
533
534         * modules/input/Makefile.am: Build these.
535
536 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
537
538         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
539         g_filename_{to,from}_utf8 now takes an extra parameter.
540
541         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
542         strftime into UTF-8.
543
544         (column_from_x, gtk_calendar_paint_day_names): Support RTL
545         calendars.
546
547         (gtk_calendar_paint_day_names): Draw day names in the right 
548         place.
549         
550 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
551
552         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
553         problem with using result of g_get_charset() backwards -
554         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
555
556         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
557         negative min_width/height and max_width/height to
558         mean "requisition"; this allows setting a window
559         to be user-resizable in only one direction easily.
560
561         * gtk/testgtk.c (create_main_window): Remove hard-coded
562         usize - set a default size in the vertical direction.
563
564 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
565
566         * gtk/gtkrange.c: Add some missing casts. Support 
567         2 and 3 button clicks on the arrows to mean 
568         "move by pages" and "jump to end". (Like gtkspinbutton)
569
570 2000-11-12 Hans Breuer <Hans@Breuer.Org>
571
572         * gdk/win32/makefile.msc : reflect build module changes
573
574         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
575         from GdkPixmap*, cast implementation member instead.
576
577         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
578         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
579         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
580         more Gdi functions return value checking. 
581         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
582         GdkImagePrivateWin32 *.
583
584         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
585         menus useable again. Add #pragma message to keep reminded on this issue.
586         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
587         windows. This allows to enable backing store on Win32!
588
589         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
590         in drawable is of impl type. Correct specific type checks appropriate.
591  
592         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
593         GDK_WINDOW_DESTROYED before allocating new resources.
594
595         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
596
597         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
598         (gdk_window_foreign_new) initialize parent handle.
599         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
600
601         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
602         Let the GDI invalidate the window on MoveWindow call to fix scrolling
603         problems (e.g. main buttons in testgtk). 
604
605 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
606
607         * gtk/gtkentry.c (gtk_entry_key_press): Call 
608         gtk_widget_activate for GDK_Return.
609
610         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
611         of preedit cursor position.
612
613 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
614
615         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
616         static.
617
618 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
619
620         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
621         out support for multiple locales; that simple doesn't
622         work reliably with current Xlib
623
624         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
625         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
626         Add support for positioning the cursor within the preedit string.
627
628 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
629
630         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
631         at XIM input method module.
632
633         * gtk/gtktextview.c: Check for bindings after passing
634         events to im context filter.
635
636 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
637
638         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
639         empty attribute lists properly.
640
641 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
642
643         * gtk/queryimmodules.c (main): Return non-zero exit
644         status if errors were encountered querying any
645         modules.
646
647         * modules/input/Makefile.am (moduledir): remove
648         leftover bin program target.
649
650         * docs/make-todo: Fix typo in error message.
651
652 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
653
654         * configure.in: Add modules/input/Makefile
655
656 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
657
658         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
659         don't include gtkthemes.h.
660
661         * gtk/testgtk.c gtk/testtext.c: Set environment variables
662         to point
663
664         * gtk/Makefile.am: Add new .c and .h files, build 
665         gtk-query-immodules and use it to create a gtk.immodules
666         file for use of test programs.
667
668         * gtk/gtkpreview.c: remove extra blank line.
669
670 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
671
672         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
673         Add the ability to add extra tables beyond the default
674         one, and also the ability to have compose sequences 
675         that are prefixes of other compose sequences. 
676
677         * gtk/gtkimcontextsimple.c: Export a preedit string which
678         consists of possible candidates for keystrokes that have
679         been entered but not yet committed.
680
681         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
682         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
683
684         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
685         Add a function to add input-method switching menu items
686         to a menu.
687
688         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
689         when switching input methods.
690
691         * gtk/gtkimcontextsimple.[ch]: Change the format of
692         the compose table to allow compose tables of different
693         lengths / sequence.
694
695 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
696
697         * gtk/gtkimmodule.[ch]: Support routines for loading
698         GtkIMContext implementations dynamically at runtime.
699
700         * modules/input/imcyrillic-translit.c: A sample input
701         method (based on GtkIMContextSimple with an extra table),
702         which demonstrates preedit strings and the module
703         system for input modules
704
705         * gtk/queryimmodules.c: Program to query the available
706         input modules and write the results into a file.
707          
708         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
709         extra config options "im_module_file" (cache file for
710         input method modules), and "im_module_path" - path
711         to look for modules when generating cache file.
712
713         This doesn't scale.
714
715 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
716
717         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
718         generic code from gtkthemes into a new abstraction
719         GtkModule which has the logic for implementing
720         a loadable module which implements a number of 
721         GObject types.
722
723 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
724
725         * gtk/gtkeditable.[ch]: Convert GtkEditable from
726         a class into an interface  
727         
728         * gtk/gtkoldeditable.[ch]: Move the old editable
729         implementation into here, so legacy widgets can
730         still rely on the implemenation. GtkOldEditable
731         exports GtkEditable. Make selection handling
732         code use new text conversion functions (and
733         handle UTF-8 as a side-effect). Use GtkClipboard
734         for CLIPBOARD.
735
736         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
737         Adopt to match above changes.
738
739         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
740         avoid GtkOldEditable implementation. Restructure
741         to reduce number of places that modify state directly.
742         Move to GtkBindingSet. Display the preedit string.
743         Queue recomputation of PangoLayout and scroll position
744         to improve effiency of doing complex changes naively.
745         Add a menu with cut/copy/paste and input method selection.
746
747 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
748
749         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
750         to set preedit string and attributes; display preedit string by
751         inserting string and attributes at cursor when creating the
752         GtkTextLineDisplay.
753
754         * gtk/gtktextlayout.c: Move all conversions between byte
755         positions in PangoLayout and GtkTextIter into new functions
756         line_display_iter_to_index/index_to_iter that properly
757         handle the preedit string.
758
759         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
760         it to return const char * (eventually will end up
761         as GCONST char *, most likely.)
762
763         * gtk/gtktextview.[ch]: Handle the preedit string, call
764         gtk_im_context_reset() as necessary, add a menu to switch
765         input methods.
766         
767         * gtk/gtktextlayout.[ch]: Remove useless
768         gtk_text_layout_get_log_attrs() function.
769
770 2000-11-11  Tor Lillqvist  <tml@iki.fi>
771
772         * gdk/gdk.def
773         * gtk/gtk.def: Update.
774
775         * gdk/win32/*.c: Add last argument to g_type_register_static()
776         calls.
777
778         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
779
780         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
781         generated by older wheel mouse drivers. Get the correct y
782         coordinate from WM_MOUSEWHEEL messages.
783
784         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
785         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
786         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
787         Debugging functions.
788
789         * gdk/win32/gdkprivate-win32.h: Declare them.
790
791         * gdk/win32/gdkinput-win32.h: Add declaration for
792         gdk_input_window_destroy().
793
794         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
795
796 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
797
798         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
799         function to help handle keeping things in sync.
800
801 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
802
803         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
804         BOXED marshallers.
805
806         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
807         (gtk_list_store_class_init): use the new BOXED marshallers.
808
809         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
810         new_with_values to new_with_types.
811         (gtk_tree_store_get_column_type): add this.
812         (gtk_tree_store_class_init): use the new BOXED marshallers.
813
814         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
815         mirror some POINTER marshallers.
816
817 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
818
819         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
820         allow more interesting iterators.  Also, made the lifecycle of
821         iterators more explicit.
822
823         * gtk/gtktreemodelsort.[ch]: New model for sorting.
824
825         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
826         types.
827
828 2000-11-09  Alexander Larsson  <alexl@redhat.com>
829
830         * demos/testgtk/menus.c:
831         Changes to make the new testgtk compile after
832         gtk_menu_append was removed.
833
834         * gdk/linux-fb/gdkdrawable-fb2.c
835         (gdk_fb_get_depth, gdk_fb_get_visual,
836         gdk_drawable_impl_fb_class_init): Implement
837         these drawable functions. Now GtkImages work again.
838
839         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
840
841         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
842         
843         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
844         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
845         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
846         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
847
848 2000-11-08  Havoc Pennington  <hp@pobox.com>
849
850         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
851         visible_set args, don't know where these had gone, I thought they
852         used to be there
853
854         * gtk/testtext.c: Add a menu item to apply invisibility tag;
855         now we can test the feature and see that it's totally broken.
856
857 2000-11-08  Havoc Pennington  <hp@pobox.com>
858
859         Make DND copy pixbufs and tags when source and target share a 
860         tag table.
861         
862         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
863         in-process GTK_TEXT_BUFFER_CONTENTS target
864         (gtk_text_view_drag_data_received): Paste from
865         GTK_TEXT_BUFFER_CONTENTS if we receive it.
866
867 2000-11-08  Alexander Larsson  <alexl@redhat.com>
868
869         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
870         API changes.
871
872         * gtk/gtkmenu.c: Add support for scrolling menus.
873         Remove gtk_menu_append/prepend/insert, these have been moved to
874         gtkcompat.h as #defines.
875
876         * gtk/gtkcompat.h.in:
877         Add compatibility #defines for gtk_menu_append/prepend/insert
878
879         * gtk/gtkmenu.h: Add data needed for scrolling menus.
880         GtkMenuPositionFunc gets an extra argument push_in.
881         gtk_menu_append/prepend/insert removed.
882         
883         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
884         positioning behaviour to fit to scrolling menus.
885
886         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
887         into menuitem->submeny. That is wrong, and broke torn
888         off submenus of torn off menus, since they were unrealized
889         when the first menu was unrealized.
890
891         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
892         gtk_menu_shell_select_item() since these need to be overridden in
893         GtkMenu.
894
895         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
896         positioning behaviour to fit to scrolling menus.
897         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
898         the current item so that it is prelighted when the menu pops up.
899         This is a workaround to the fact that the menu doesn't get the
900         initial enter event (due to grabs).
901
902         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
903         s/gtk_menu_append/gtk_menu_shell_append/
904
905         * gtk/gtknotebook.c:
906         s/gtk_menu_insert/gtk_menu_shell_insert/
907
908         * gtk/testgtk.c (create_menu, create_menus):
909         Create the first menu with 50 items so that menu scrolling
910         can be tested.
911         
912         
913         Patch from Jonathan Blandford  <jrb@redhat.com>
914
915         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
916         system to handle size requests.  First, we ask what the size of
917         the toggle is.  Then, when allocating the size, we allocate the
918         toggle_size first.  This way we can have multiple menu-item
919         classes w/o needing a seperate class for each.
920
921         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
922         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
923
924         * gtk/gtkcheckmenuitem.c
925         (gtk_check_menu_item_toggle_size_request): New function to handle
926         the toggle size-request.
927
928 2000-11-07  Havoc Pennington  <hp@redhat.com>
929
930         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
931         Half-ass somewhat fix this function, so that scrolling to the
932         insertion point works. Pango hacking is in the future to really
933         fix it.
934
935         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
936         length of data, no longer used.
937
938         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
939         method contents in here, get rid of destroy method
940         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
941         that were backward. Remove debug spew.
942         (cut_or_copy): Make the clipboard work with insert_range to
943         preserve tags and pixbufs, not just the primary selection.
944
945 2000-11-07  Havoc Pennington  <hp@redhat.com>
946
947         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
948         to gtk_text_mark_get_visible
949
950         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
951         bug that was generating an invalid iterator
952
953         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
954         ensure_char_offsets() in front of code placing the iter in an
955         invalid state.
956
957         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
958         make override_location arg const
959         (paste): Replace the selection if we paste into the 
960         current selection
961
962         * gtk/gtkselection.h: Remove "GtkSelectioData"
963         (struct _GtkSelectionData): move the definition here.
964
965         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
966         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
967
968         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
969
970         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
971         (gtk_text_buffer_insert_range_interactive): implement
972         (gtk_text_buffer_get_tags): Remove, replaced by
973         gtk_text_iter_get_tags()
974
975         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
976         limit parameter, to avoid infinite linear scan.
977         (gtk_text_iter_backward_search): Add search limit
978         (gtk_text_iter_forward_find_char): Add search limit
979         (gtk_text_iter_backward_find_char): Add search limit
980
981 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
982
983         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
984         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
985         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
986         gdk/linux-fb/gdkwindow-fb.c:
987         use g_object_new() instead of g_type_create_instance() which
988         is a private function for fundamental type implementations.
989
990         * gdk/linux-fb/gdkinput-ps2.c:
991         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
992         instead just store the current modifier state. Add a (somewhat broken)
993         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
994         Rename exported function gdk_input_ps2_get_mouseinfo to
995         gdk_input_get_mouseinfo.
996
997         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
998         gdk/linux-fb/gdkwindow-fb.c:
999         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
1000         
1001
1002 2000-11-02  Havoc Pennington  <hp@redhat.com>
1003
1004         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
1005         use stock buttons. Should be 100% source compatible, appropriate
1006         filesel fields now point to dialog->vbox and dialog->action_area.
1007         On the bizarre side, dialog->action_area and filesel->action_area
1008         are not the same widget.
1009         (gtk_file_selection_init): Put some padding around the selection
1010         entry, so it isn't touching the GtkDialog separator.    
1011
1012         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
1013         use stock buttons, etc. Should also be source compatible.
1014         Set the dialog default title in _init not _new().
1015         
1016         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
1017         Use stock buttons; don't put a button box inside the existing
1018         dialog button box. Don't bother with push/pop colormap anymore.
1019
1020         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
1021         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
1022         for message dialog, and necessary for the font selection and color
1023         selection with help and apply buttons.
1024         
1025         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
1026         to the created button widget. Set GTK_CAN_DEFAULT on the button.
1027         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
1028         between buttons, put less padding around the action area.
1029         (gtk_dialog_run): Exit on unmap rather than on destroy. 
1030         This will also exit the loop if the widget is hidden.
1031         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
1032         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
1033         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
1034         special-case delete event.
1035
1036         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
1037         formatting
1038         
1039 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
1040
1041         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
1042         button to temporarily disable position recording in the
1043         "saved position" test.
1044
1045 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
1046
1047         * gtk/gtkthemes.c: added compat code that temporarily implements
1048         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
1049         going to be revamped by owen's upcoming GtkModule patches, but
1050         untill then people want gtk to build, right? ;)
1051
1052 2000-11-04  Havoc Pennington  <hp@pobox.com>
1053
1054         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
1055         list
1056
1057         * docs/Changes-2.0.txt: Add note about
1058         gtk_container_get_toplevels()
1059
1060         * gtk/gtktextview.h: formatting
1061         
1062         * gtk/gtktextview.c: don't start descriptions with "Returns",
1063         confuses gtk-doc
1064
1065 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
1066
1067         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
1068         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
1069
1070 2000-11-03  Havoc Pennington  <hp@redhat.com>
1071
1072         * gtk/gtktexttagtable.c: Docs
1073         (gtk_text_tag_table_size): return a signed int
1074
1075         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
1076         (gtk_text_tag_event): make the event_object a GObject
1077
1078         * gtk/gtktextview.c: Write API docs for all functions.
1079
1080         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
1081         for gtk_text_view_get_window_type() called on one of the private
1082         windows.
1083
1084         * gtk/gtktextview.c: Instead of accessing text_view->buffer
1085         directly, call get_buffer() which demand-creates a default
1086         buffer. So gtk_text_view_new() can be used to create a view with a
1087         default buffer in it, if you just want an empty text box users can
1088         put data in. Useful for GUI builders also.
1089
1090 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
1091
1092         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
1093         the charset encodign portion MUST be in lowercase.
1094         * gtk/gtkrc.az: added file for Azeri language
1095
1096 2000-11-03  Havoc Pennington  <hp@redhat.com>
1097
1098         Get widgets working on the btree/buffer side. Display of them 
1099         still doesn't work.
1100         
1101         * gtk/gtktextview.c: start implementing child widget stuff
1102
1103         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
1104
1105         * gtk/gtktextlayout.c: handle embedded widgets
1106
1107         * gtk/gtktextdisplay.c: handle embedded widgets
1108
1109         * gtk/gtktextchild.c: Implement all the child anchor goo
1110
1111         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
1112         function
1113
1114         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
1115         (insert_pixbuf_or_widget_segment): abstract out common portions of 
1116         creating a child anchor or a pixbuf segment.
1117         (gtk_text_btree_create_child_anchor): new function
1118         (gtk_text_btree_unregister_child_anchor): new function
1119
1120         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
1121         allocate_child signal on GtkTextLayout
1122
1123         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
1124         values
1125         (gtk_text_iter_get_child_anchor): new function
1126
1127         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
1128         default handler for the changed signal, which calls
1129         gtk_text_buffer_set_modified(), instead of just always emitting
1130         changed then calling set_modified() manually. I guess this is
1131         maybe more flexible. It seems logical.
1132
1133 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
1134
1135         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
1136         now.
1137
1138         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
1139
1140 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
1141
1142         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
1143         been marked static.
1144
1145 2000-11-02  Havoc Pennington  <hp@redhat.com>
1146
1147         * gtk/testgtk.c (create_labels): had a test backward
1148
1149         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
1150         fields, so the dest GC ends up with the correct clip origin, 
1151         etc. Fixes a bug where colored labels didn't redraw 
1152         properly.
1153
1154 2000-11-02  Alexander Larsson  <alexl@redhat.com>
1155
1156         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
1157         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
1158         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
1159         Add last argument to t_type_register_static call.
1160         
1161         * gdk/linux-fb/gdkdrawable-fb2.c:
1162         Add last argument to t_type_register_static call.
1163         export the get_image drawable virtual function.
1164
1165         * gdk/linux-fb/gdkimage-fb.c:
1166         Add last argument to t_type_register_static call.
1167         rename gtk_image_get to _gdk_fb_get_image and
1168         export it for use by gdkdrawable-fb2.
1169
1170         * gdk/linux-fb/gdkprivate-fb.h:
1171         export _gdk_fb_get_image.
1172
1173         * gdk/linux-fb/gdkselection-fb.c:
1174         Add new api call stubs.
1175
1176         * gtk/Makefile.am:
1177         Missing ( in linux-fb part.
1178
1179         * modules/linux-fb/Makefile.am:
1180         Must link with gdk_pixbuf or get unresolved symbol.
1181
1182 2000-11-01  Havoc Pennington  <hp@pobox.com>
1183
1184         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
1185         GTK_TYPE_TEXT_ITER and BOXED marshallers
1186
1187         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
1188
1189         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
1190         
1191         * gtk/gtk-boxed.defs: add GtkTextIter
1192
1193         * gtk/gtkmarshal.list: Add marshallers for text widget that 
1194         properly use OBJECT and BOXED
1195
1196 2000-11-01  Havoc Pennington  <hp@redhat.com>
1197
1198         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
1199
1200         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
1201         before returning it. 
1202         
1203 2000-11-01  Havoc Pennington  <hp@redhat.com>
1204
1205         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
1206         Clip the rectangle to be rendered to the drawable, since
1207         get_from_drawable() requires a region within the drawable
1208
1209 2000-11-01  Havoc Pennington  <hp@redhat.com>
1210
1211         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
1212         from coordinates.
1213
1214 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
1215
1216         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
1217         it isn't NULL.
1218
1219 2000-11-01  Havoc Pennington  <hp@pobox.com>
1220
1221         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
1222         on a label
1223         (gtk_label_finalize): unref the attr list if any.
1224
1225         * gtk/testgtk.c (create_get_image): close test on second click
1226         (make_message_dialog): close dialog if it exists
1227
1228         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
1229
1230         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
1231         gdk-pixbuf
1232
1233         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
1234         from Pango markup format
1235         (gtk_label_set_markup_with_accel): ditto but with accelerator
1236         parsing
1237
1238         * gtk/gtkimage.c (gtk_image_expose): reformatting.
1239
1240         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
1241         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
1242         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
1243         call gdk_window_get_origin().
1244
1245         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
1246         implement GDK_PIXBUF_ALPHA_FULL
1247         
1248 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
1249
1250         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
1251         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
1252         g_signal_handlers_disconnect_matched to block/unblock and disconnect
1253         multiple handlers respectively, instead of only treating the
1254         first handler found (bug reported by owen).
1255
1256 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
1257
1258         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
1259
1260         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
1261
1262         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
1263         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
1264         gtk/gtktreeviewcolumn.h: Fixed inline docs.
1265
1266         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
1267         widget.  Needs writing someday.
1268
1269         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
1270         the docs.
1271
1272 2000-10-30  Havoc Pennington  <hp@redhat.com>
1273
1274         * gtk/gtktextview.h, gtk/gtktextview.c:
1275         Rename delete_at_cursor delete_from_cursor, and 
1276         move to move_cursor.
1277
1278 2000-10-30  Havoc Pennington  <hp@redhat.com>
1279
1280         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
1281         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
1282         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
1283         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
1284         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
1285         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
1286         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
1287         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
1288         gtktexttypes.h, gtktextview.c, gtktextview.h:
1289
1290         Massive reindentation and reformatting. Arg alignment and comments
1291         still need fixing in various places.
1292
1293 2000-10-30  Havoc Pennington  <hp@redhat.com>
1294
1295         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
1296         to be named insert_at_cursor and delete_at_cursor so C++ can
1297         handle them.
1298
1299 2000-10-28  Tor Lillqvist  <tml@iki.fi>
1300
1301         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
1302         to get a double directory separator in case the home directory
1303         ends with one. This would cause trouble especially on Windows,
1304         where the path will be confused with the syntax for an an UNC
1305         (network share) path \\server\share\path.
1306         (gtk_rc_add_initial_default_files): Ditto.
1307
1308 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
1309
1310         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
1311
1312         * gtk/gtktextview.c: Use correct marshallers.
1313
1314 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
1315
1316         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
1317         use new iter stuff, and added all the appropriate signals et al.
1318
1319         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
1320         code is internal to gtk only.
1321
1322 2000-10-28  Tor Lillqvist  <tml@iki.fi>
1323
1324         * gtk/gtk.def
1325         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
1326         glib-genmarshal etc.
1327
1328 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
1329
1330         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
1331         parallel builds.
1332
1333 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
1334
1335         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
1336
1337 2000-10-27  Robert Brady  <robert@suse.co.uk>
1338
1339         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
1340         en_GB (British), ia (Interlingua).
1341
1342 2000-10-26  Havoc Pennington  <hp@redhat.com>
1343
1344         * gtk/gtktextiter.c (my_strrstr): fix constness warning
1345
1346         Fixed output of:
1347         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
1348         
1349         * gtk/gtktextsegment.c (char_segment_new): rename
1350         (_char_segment_new_from_two_strings): rename
1351         (_toggle_segment_new): rename
1352         
1353         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
1354         (make_clipboard_widget): make it static
1355         (text_get_func): static
1356         (text_clear_func): static
1357
1358         * gtk/gtkcolorsel.c (adjustment_changed): make this function
1359         static
1360         (hex_changed): make it static
1361         (hsv_changed): make it static
1362         (opacity_entry_changed): make it static
1363
1364         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
1365         (toggle_segment_check_func): rename with _gtk
1366
1367         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
1368         (_widget_segment_new): rename
1369         (_widget_segment_add): rename
1370         (_widget_segment_remove): rename
1371         (_widget_segment_ref): rename
1372         (_widget_segment_unref): rename
1373
1374         * gtk/gtktextmark.c (_mark_segment_new): Rename
1375         _gtk_mark_segment_new   
1376
1377 2000-10-26  Havoc Pennington  <hp@redhat.com>
1378
1379         * gtk/gtkmarshal.list: add new marshallers used by the text widget
1380         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
1381         types
1382
1383         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
1384         marshaller types
1385
1386         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
1387         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
1388         license on these files.
1389
1390         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
1391         work.
1392
1393         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
1394         runtime random number different for each tree, instead of 
1395         a constant I made up.
1396
1397 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
1398
1399         * gtk/Makefile.am: buncha cleanups, kludged build sources
1400         dependencies with a Makefile: oldest-source-stamp dependancy
1401         for the moment. automake is really fighting us here, with
1402         intentionally not allowing user-defined rules or dependancies
1403         prior to it's -include $(DEP_FILES) statement. sucks rocks!
1404
1405         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
1406         to public headers. tehy have a comment stating that they are
1407         "semi-public" aren't included by gtk.h and if enums popup there,
1408         they can be /*< skip >*/-ed.
1409
1410         * gtk/gtktextlayout.h: 
1411         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
1412         added LGPL... <SIGH>
1413
1414 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
1415
1416         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
1417         GtkTreeIter.  Added iterators everywhere.
1418
1419         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
1420
1421         * gtk/gtktreeviewselection.c: Changed to use the iterators.
1422
1423         * gtk/gtktreestore.c: Changed to use the iterators.
1424
1425         * gtk/gtkliststore.c: Commented out the code.  Will convert to
1426         iterators tomorrow.
1427
1428         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
1429         iterators tomorrow.
1430
1431         * gtk/treestoretest.c: Changed to use iterators.
1432
1433         * demos/testgtk/main.c: Moved to use the new iterator system.
1434
1435 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
1436
1437         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
1438         localization misbehaviour.
1439
1440         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
1441         a useless type without copy/free.
1442
1443         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
1444         of GTK_TYPE_CTREE_NODE.
1445
1446 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
1447
1448         * gtk/gtksignal.c:
1449         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
1450         applicable.
1451
1452         * gtk/gtk-boxed.defs (GtkSelectionData): specify
1453         gtk_selection_data_copy and gtk_selection_data_free
1454         do GtkSelectionData work as params in signals.
1455
1456 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
1457
1458         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
1459         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
1460         couldn't they at least give it a non-standard name?
1461         
1462         * gtk/gtktextlayout.c: arg! yet another implementation of
1463         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
1464
1465         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
1466         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
1467         home. now i know this _is_ a conspiracy.
1468
1469         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
1470         ::state-changed.
1471
1472         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
1473         (gtk_accel_group_create_add): marshaller signature fixups.
1474
1475         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
1476         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
1477
1478         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
1479         anymore.
1480
1481 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
1482
1483         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
1484         due to the signal system changes, it wouldn't build currently. to
1485         be fixed soon.
1486
1487         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
1488
1489         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
1490         so it needs gtk_marshal_VOID__ENUM() instead of
1491         gtk_marshal_NONE__UINT().
1492
1493         * gdk/gdk*.c: adapted type registration functions.
1494
1495         * gtk/gtkbindings.c:
1496         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
1497         gone.
1498
1499         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
1500
1501         * gtk/gtkobject.c:
1502         (gtk_object_destroy):
1503         (gtk_object_shutdown): fixed recursion guards. basically we have to
1504         catch the case where any of GObject.shutdown() or gtk_object_destroy()
1505         is called during ::destroy, and avoid recursion there.
1506
1507         * gtk/gtktypeutils.c:
1508         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
1509         boxed_copy/boxed_free. this needs a more general solution based on a
1510         publically installed code-generator utility.
1511
1512         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
1513         glib's gobject has support for that now.
1514         define GtkSignalMarshaller in terms of GSignalCMarshaller.
1515
1516 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
1517
1518         * gtk/gtksignal.[hc]:
1519         * gtk/gtkmarshal.[hc]:
1520         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
1521         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
1522         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
1523         care of that.
1524
1525         * *.c: marshaller name fixups.
1526
1527         * gtk/gtkmarshal.list: added a comment briefing the format.
1528
1529 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
1530
1531         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
1532         compatibility macros here now. more specifically, most of
1533         the API is preserved (yes, _most_, nonwithstanding the
1534         following exceptions listed, the API is stil lHUGE ;)
1535         things that got removed completely:
1536         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
1537         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
1538         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
1539         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
1540         gtk_signal_remove_emission_hook().
1541         non-functional functions variants:
1542         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
1543         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
1544         not supported anymore.
1545         (gtk_signal_compat_matched): new internal function to aid
1546         implementation of the compatibility macros, it  provides
1547         functionality to block/unblock/disconnect handlers based
1548         on func/data.
1549
1550         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
1551
1552         * *.c: adaptions to new type registration API signatures.
1553
1554 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
1555
1556         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
1557
1558 2000-10-25  Robert Brady  <robert@suse.co.uk>
1559
1560         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
1561         gdk_property_delete): If window == NULL, assume the root window.
1562         (restoring the behaviour that was in 1.2).
1563         
1564         * gtk/testtext.c (save_buffer): Allow creation of new files when
1565         saving.
1566
1567         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
1568         calls to read().
1569
1570 2000-10-25  Tor Lillqvist  <tml@iki.fi>
1571
1572         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
1573
1574         * gdk/win32/gdkdrawable-win32.c
1575         * gdk/win32/gdkimage-win32.c
1576         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
1577         X11 backend.
1578
1579         * gdk/win32/gdkcc-win32.c
1580         * gdk/win32/gdkcolor-win32.c
1581         * gdk/win32/gdkfont-win32.c
1582         * gdk/win32/gdkinput-win32.c
1583         * gdk/win32/gdkmain-win32.c
1584         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
1585
1586 2000-10-24  Havoc Pennington  <hp@redhat.com>
1587
1588         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
1589         it a static function
1590
1591         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
1592         redraw text when a tag is applied to it.
1593
1594         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
1595         (gtk_text_tag_affects_nonsize_appearance): private functions to
1596         see if a tag requires various kinds of redraw/layout to be queued
1597         up.
1598
1599         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
1600
1601         * gtk/testtext.c (fill_example_buffer): Put the cursor 
1602         at the start of the buffer, so search works by default
1603
1604         * gtk/gtktextiter.c (lines_match): init match_start always
1605
1606         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
1607         function, get iter at a line + a byte index
1608
1609         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
1610         to set byte position within a line
1611         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
1612
1613 2000-10-23  Havoc Pennington  <hp@redhat.com>
1614
1615         * gtk/testtext.c: Re-enable the "find" dialog
1616
1617         * gtk/testgtk.c: Add test for gdk_drawable_get_image
1618         
1619         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
1620         the arguments to gdk_draw_drawable were in the wrong order
1621         (gdk_window_paint_init_bg): This function was ignoring the
1622         init_region, instead of clipping to it, so the entire backing
1623         pixmap was cleared on every begin_paint()
1624         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
1625         was in here again, the loop kept using the same GtkWindowPaint
1626         over and over.
1627         (gdk_window_begin_paint_region): Fix a bug where we had two
1628         x_offset instead of x_offset and y_offset
1629
1630         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
1631         before we get the image.
1632         (gdk_draw_drawable): get the composite before we draw the drawable.
1633         (gdk_drawable_real_get_composite_drawable): default
1634         get_composite_drawable implementation that returns the drawable 
1635         itself
1636
1637         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
1638         get_composite_drawable virtual function
1639
1640         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
1641         list-walking bug
1642
1643         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
1644         make this work if the source drawable is a GdkDrawableImplX11
1645         instead of a public drawable type. This is really broken; the
1646         problem is that GdkDrawable needs a virtual method get_xid(), but
1647         of course that doesn't work in practice. Enter RTTI.
1648
1649         Also, improve mismatched depth message.
1650
1651         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
1652         GdkPixmap
1653
1654         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
1655         install _gdk_x11_get_image as our implementation of get_image
1656         
1657         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
1658         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
1659
1660         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
1661         gdk_drawable_get_image
1662
1663         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
1664
1665         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
1666         get_image
1667
1668         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
1669         trailing semicolon after for loop
1670
1671 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
1672
1673         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
1674         where font_desc for widget's context lagged widget's font_desc by
1675         one step.
1676
1677 2000-10-22  Tor Lillqvist  <tml@iki.fi>
1678
1679         * gdk/win32/gdkgc-win32.c
1680         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
1681
1682         * gtk/makefile.mingw.in
1683         * gtk/gtk.def: Updates.
1684
1685         * gtk/testgtk.c: sleep() is called _sleep in MS's C
1686         library.
1687
1688         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
1689
1690         * gtk/makefile.msc: Remove
1691
1692         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
1693
1694         * gtk/Makefile.am: Add it.
1695
1696         * configure.in: Generate it.
1697
1698         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
1699         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
1700         something even if not implemented, to satisfy picky MSVC.
1701
1702         Patches by Hans Breuer:
1703         
1704         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
1705         SetBkMode() and SetTextAlign() before calling
1706         pango_win32_render().
1707
1708         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
1709         Set hcliprgn to NULL after destroying it.
1710         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
1711
1712         * gdk/win32/gdkgeometry-win32.c
1713         (_gdk_windowing_window_queue_antiexpose): More effective
1714         implementation.
1715
1716         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
1717         depth as default, not the visual's.
1718
1719         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
1720         against empty title.
1721
1722         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
1723         IMAGE_PRIVATE_DATA.
1724
1725         * gdk/win32/gdkimage-win32.c: Use it.
1726
1727 2000-10-22  Robert Brady  <robert@suse.co.uk>
1728
1729         * configure.in: Check for bind_textdomain_codeset
1730
1731         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
1732         present, make use of it.
1733
1734         Add a translatable string "default:LTR" which, if translated
1735         to "default:RTL", will cause the default direction to be
1736         Right-to-Left.
1737
1738         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
1739         direction if marked as flippable.
1740
1741         * gtk/gtkhscale.c: Mark widget as flippable.
1742         
1743 2000-10-04  Havoc Pennington  <hp@redhat.com>
1744
1745         * gtk/testgtk.c (create_buttons): create some stock buttons
1746         with the default accel group
1747         (create_image): test some new GtkImage features
1748         (make_message_dialog): test GtkMessageDialog
1749         (create_modal_window): fix someone's bizzarro indentation
1750
1751         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
1752         GTK_WIN_POS_CENTER_ON_PARENT. 
1753         Add "destroy with parent" setting, which means the window goes
1754         away with its transient parent.
1755         (gtk_window_get_default_accel_group): get the default accel group
1756         for the window.
1757         (gtk_window_set_destroy_with_parent): set/unset destroy with
1758         parent flag
1759         (gtk_window_read_rcfiles): invalidate icon set caches
1760         after reloading rcfiles 
1761
1762         * gtk/gtkenums.h (GtkWindowPosition): add
1763         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
1764         on its parent window when the dialog is mapped for the first time.
1765
1766         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
1767         a simple message dialog class
1768         
1769         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
1770         handler to emit response signal, and maybe later it would
1771         honor a hide_on_delete flag - though that isn't there yet.
1772         Set border width on the vbox to 2, so we get some padding.      
1773         Use a button box for the action area.
1774         (gtk_dialog_key_press): synthesize a delete event if Esc
1775         is pressed and the GtkWidget key press handler didn't 
1776         handle the escape key.
1777         (gtk_dialog_new_with_buttons): new function creates a dialog
1778         with some default buttons in it.
1779         (gtk_dialog_add_action_widget): add an activatable widget
1780         as a button in the dialog - you can also add a non-activatable
1781         widget by accessing the action area directly.
1782         (gtk_dialog_add_button): add a simple button - stock ID or 
1783         label - to the action area
1784         (gtk_dialog_response): emit response signal
1785         (gtk_dialog_run): block waiting for the dialog, return 
1786         the response. Override normal delete_event behavior, so that 
1787         delete_event does nothing inside gtk_dialog_run().
1788
1789         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
1790         emitted when an action widget is clicked or the dialog gets
1791         delete_event
1792
1793         * gtk/gtk.h: add gtkmessagedialog.h
1794
1795         * gtk/Makefile.am: add gtkmessagedialog.[hc]
1796
1797 2000-10-18  Havoc Pennington  <hp@redhat.com>
1798
1799         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
1800         where any number of empty lines would get skipped
1801
1802         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
1803         edge.
1804
1805         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
1806         warning about invalid iterators (explain more thoroughly)
1807         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
1808
1809         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
1810         big
1811
1812         * demos/*.c: Add error handling
1813
1814         * gtk/gtktextbuffer.c: don't modify const iterators
1815
1816         * gtk/gdk-pixbuf-loader.c: Add full error handling here
1817
1818         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
1819         on file load
1820
1821         * gtk/gtkiconfactory.c: Update to reflect addition of error
1822         handling to gdk-pixbuf loaders
1823
1824 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
1825
1826         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
1827         move to new modularized testgtk.
1828
1829 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
1830
1831         * gtk/gtktreeview.c: Draw the arrows correctly.
1832
1833         * gtk/gtktreemodel.c: Added user docs.
1834
1835         * gtk/gtk.h: remove gtktreedatalist.h.
1836
1837         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
1838         parent when generating my type.
1839
1840         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
1841         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
1842
1843 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
1844
1845         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
1846         GtkTreeModel from object to interface.
1847
1848 2000-10-16  Havoc Pennington  <hp@redhat.com>
1849
1850         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
1851         compilation
1852
1853 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
1854
1855         * gtk/gtktreeselection.c: Add API documentation to all public
1856         functions.
1857
1858         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
1859         functions.
1860
1861 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
1862
1863         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
1864         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
1865         docs to all public functions.
1866
1867         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
1868         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
1869         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
1870         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
1871         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
1872         issue.
1873
1874 2000-10-14  Robert Brady  <robert@suse.co.uk>
1875
1876         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
1877
1878 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
1879
1880         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
1881         values other then G_TYPE_STRING.
1882         * gtk/gtktreeselection.c: Minor commenting updates.
1883         * gtk/gtktreeview.c: Format updates.
1884
1885 2000-10-09  Tor Lillqvist  <tml@iki.fi>
1886
1887         * README.win32: Update.
1888
1889         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
1890         lines that had been deleted by mistake (?).
1891
1892         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
1893         also the case fg==white and bg==black (but still not randomly
1894         coloured cursors). Thanks to Wolfgang Sourdeau.
1895
1896         * gdk/win32/*.c: Silence gcc -Wall.
1897
1898         * gtk/gtk.def: Add missing entry points.
1899
1900         Fixes by Hans Breuer:
1901
1902         * gdk/makefile.msc
1903         * gdk/win32/makefile.msc: Update.
1904
1905         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
1906         some MSVC thing, presumably), cause breakpoint on failures. Add
1907         GDK_NOR case. Call g_log_set_always_fatal.
1908
1909         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
1910         should be pased by reference.
1911         
1912         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
1913         
1914         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
1915
1916         * gdk/win32/gdkevents-win32.c
1917         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
1918
1919         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
1920         implementation object.
1921
1922         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
1923         not just windows.
1924         
1925         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
1926         Use the wrapper object.
1927         
1928 2000-10-06  Havoc Pennington  <hp@redhat.com>
1929
1930         * Makefile.am (SRC_SUBDIRS): contrib subdir
1931
1932         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
1933         so it can be used in Xlib version
1934
1935         * demos/testpixbuf.c (update_timeout): error checking from 1.0
1936         tree
1937
1938         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
1939         change from 1.0 tree that returns first frame of animation
1940         if the loaded file is an animation.
1941
1942         * contrib: add new directory to hold stuff that comes with GTK+
1943         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
1944         
1945         * configure.in: add contrib/*
1946
1947 2000-10-05  Havoc Pennington  <hp@redhat.com>
1948
1949         * demos/testpixbuf-save.c: add pixbuf save test
1950
1951         * demos/Makefile.am: add testpixbuf-save.c
1952
1953 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
1954
1955         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
1956         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
1957         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
1958         * gtk/gtktreeselection.[ch]: Replaced
1959         "node_selected"/"node_unselected" signal with "selection_changed"
1960         signal.
1961
1962 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
1963
1964         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
1965         tree widget.
1966
1967 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
1968
1969         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
1970         drawing.
1971
1972 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
1973
1974         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
1975         Move list pointer forwards before removing item from
1976         list. (Crash reported by Salmaso Raffaele)
1977
1978         * gdk/gdkwindow.h: Remove spurious trailing ,
1979
1980         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
1981         dependencies on uninstalled libraries, sorry folks.
1982
1983 2000-10-04  Havoc Pennington  <hp@redhat.com>
1984
1985         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
1986         gtk/gtkiconfactory.c: Fix copyrights    
1987
1988         * demos/testpixbuf.c: add inline pixbuf test
1989         
1990 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
1991
1992         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
1993         Add gdk_window_iconify.
1994
1995         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
1996         (gdk_window_set_geometry_hints): Add win_gravity
1997         to geometry structure.
1998
1999         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
2000         Implement _NET_WM_PING.
2001
2002         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
2003         Set _NET_WM_PID on the client leader.
2004
2005         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
2006         Handle UTF-8 better.
2007
2008         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
2009         UTF-8 better, set _NET_WM_NAME as well. Only set
2010         icon name if it hasn't previously been explicitely 
2011         set.
2012
2013 2000-10-03  Havoc Pennington  <hp@redhat.com>
2014
2015         * gtk/testtextbuffer.c: clean up trailing whitespace,
2016         add extensive tests for tag toggle iteration.
2017         
2018         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
2019         distance
2020
2021         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
2022         optimize case where the tag root is on level 1
2023         (gtk_text_line_previous_could_contain_tag): attempt to implement
2024         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
2025         functionality
2026
2027         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
2028         Implement this, though not very efficiently.
2029
2030         * gtk/gtktextiterprivate.h: reformat
2031
2032         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
2033         iterator
2034
2035         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
2036         this to properly revalidate the iterators.
2037
2038         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
2039         properly at the end of the line (and therefore on empty lines)
2040
2041         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
2042         maybe we should return a value...
2043
2044 2000-10-03  Tor Lillqvist  <tml@iki.fi>
2045
2046         * config.h.win32: Guard definition of alloca(). glib.h now handles
2047         that.
2048
2049         * gdk/gdk.def
2050         * gtk/gtk.def: Add new entry points.
2051
2052         Changes just to make GTK+ build without errors on Win32. No hope
2053         of it working in its current state, though...:
2054         
2055         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
2056         some functions from the X11 backend, just to make GTK+ build.
2057
2058         * gdk/makefile.mingw.in
2059         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
2060         number. Add new object files.
2061
2062         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
2063         GetMessageTime to get timestamp (where on X11 uses
2064         gdk_x11_get_server_time()).
2065
2066 2000-10-02  Havoc Pennington  <hp@pobox.com>
2067
2068         * gtk/gtktextview.c: text_window_* weren't static and should have
2069         been.
2070         Start work on child widgets; not yet complete, syncing to 
2071         office computer.
2072
2073         * gtk/gtktextchild.h: change this to contain a public interface,
2074         starting work on child interfaces.
2075         * gtk/gtktextchildprivate.h: move private interfaces here
2076
2077         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
2078
2079         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
2080         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
2081         gtk/gtktextmark.c: copyright notices
2082
2083         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
2084         internal functions      
2085
2086         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
2087         internal function
2088
2089         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
2090         Reformatting    
2091
2092 2000-09-30  Havoc Pennington  <hp@pobox.com>
2093
2094         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
2095         NULL start/end pointers
2096
2097         * gtk/gtktextbuffer.c: Write some docs
2098         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
2099         NULL, so you can just check whether there's a selection.        
2100
2101         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
2102         cleanup_line or segments_changed ourselves, it gets done 
2103         in unlink_segment
2104
2105         * gtk/gtktextmark.h:
2106         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
2107         
2108         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
2109
2110         * gtk/gtktextmark.c: delete some more old Tk cruft
2111
2112         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
2113         mark before removing it, so we can emit MARK_DELETED with a valid
2114         pointer.
2115         (gtk_text_buffer_mark_set): hold ref across signal emission
2116
2117         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
2118         whining about attempts to delete special marks
2119
2120         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
2121         underscore, since it's internal.
2122
2123         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
2124         now implemented in terms of iterators in gtktextiter.h
2125
2126         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
2127         New function, destructively sets contents of buffer. Also 
2128         a convenient way to clear the buffer by setting text to ""
2129
2130         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
2131         multiline string literal
2132
2133         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
2134         text changes.
2135
2136         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
2137         is not dereferenceable
2138         (gtk_text_iter_forward_lines): fix return value
2139
2140 2000-09-29  Havoc Pennington  <hp@redhat.com>
2141
2142         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
2143
2144         * gtk/gtktextview.c: Implement drag thresholding; change functions 
2145         that set border window size to have nicer name
2146         (gtk_text_view_mark_set_handler):  Fix this to have the 
2147         right signature.
2148
2149         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
2150
2151         * gtk/testtext.c: Update with API changes, put line numbers on 
2152         both sides.
2153         
2154         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
2155         with this
2156
2157         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
2158         pixbuf; delete a big block of #if 0 Tk code
2159
2160         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
2161         insert_pixmap with insert_pixbuf
2162
2163 2000-09-29  Martin Baulig  <baulig@suse.de>
2164
2165         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
2166         confusion with the GdkPixbuf of the GNOME 1.x platform.
2167
2168 2000-09-29  Havoc Pennington  <hp@pobox.com>
2169
2170         * gtk/gtktextview.c: Implement the side windows.
2171
2172         * gtk/testtext.c: Implement simple line numbering in the 
2173         left side window; seems to make scrolling sloooow. Oops.
2174         Also, cursor blink is for some reason causing redraws
2175         of the line numbers. Should investigate...
2176
2177 2000-09-28  Havoc Pennington  <hp@redhat.com>
2178
2179         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
2180         scrolling child windows, and draw focus rectangle properly.
2181         
2182         (gtk_text_view_buffer_to_window_coords):
2183         Coordinate transformation to deal with all these freaking windows
2184         and offsets
2185         (gtk_text_view_window_to_buffer_coords): transform the other way
2186
2187         * gtk/testtext.c (create_buffer): Update to match Pango API change
2188
2189         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
2190         anonymous tags
2191         (foreach_unref): don't emit remove signal from finalize, just
2192         set tag's parent to NULL
2193
2194 2000-09-26  Havoc Pennington  <hp@redhat.com>
2195
2196         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
2197         Fix some warnings       
2198
2199 2000-09-26  Havoc Pennington  <hp@redhat.com>
2200
2201         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
2202         headers into the private header list
2203
2204         * Makefile.am (pkgconfig_DATA): install pkg-config files
2205
2206         * configure.in: add pkg-config files
2207
2208         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
2209
2210         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
2211         outstanding icon caches on theme change.
2212
2213         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
2214         important types:
2215
2216         (GtkIconSource): Specification for creating a pixbuf 
2217         appropriate for a direction/state/size triplet from 
2218         a source pixbuf or filename
2219
2220         (GtkIconSet): List of GtkIconSource objects that are used to
2221         create the "same" icon (e.g. an OK button icon), and cache for
2222         rendered icons
2223
2224         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
2225         up the icon set for a given stock ID.  GTK maintains a stack of
2226         GtkIconFactory to search, and applications or libraries can add
2227         additional icon factories on top of the stack
2228         
2229         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
2230         the set of GtkIconSource specified for a given stock ID into 
2231         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
2232         RcStyle, under the specified stock ID.
2233
2234         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
2235         render_icon used to derive a GdkPixbuf from a GtkIconSource.
2236         This allows people to theme how prelight, insensitive, etc. are
2237         done.
2238
2239         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
2240         icon factories for a style, and return the resulting 
2241         icon set if any.
2242
2243         (gtk_style_render_icon): Render an icon using the render_icon 
2244         method in the GtkStyleClass.
2245
2246         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
2247         Use the style for a given widget to look up a stock ID, get the
2248         icon set, and render an icon using the render_icon method 
2249         of the style
2250
2251         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
2252         (contains information about a stock item), the built-in stock item
2253         IDs, and functions to add/lookup stock items.
2254
2255         * gtk/stock-icons/*: Stock icons that come with GTK
2256
2257         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
2258         a button based on a GtkStockItem
2259         (gtk_button_new_accel): Takes a uline string and accel group, and
2260         installs the accelerator.
2261
2262         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
2263         image-display widget.
2264
2265 2000-09-25  Havoc Pennington  <hp@redhat.com>
2266
2267         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
2268
2269         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
2270         Fix a bug when removing node data, we didn't properly 
2271         re-splice the linked list after removing the data.
2272
2273         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
2274         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
2275
2276         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
2277
2278         * gtk/gtktextlayout.c (set_para_values): Set tab array 
2279         for the layout from the GtkTextTag.
2280
2281         * gtk/gtktexttypes.h: delete tab and search cruft, 
2282         remove g_convert() in favor of GLib version
2283
2284         * gtk/gtktexttypes.c: remove tab implementation from here,
2285         move to Pango
2286
2287         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
2288         tab stuff using new PangoTabArray from Pango
2289
2290         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
2291         unused border_width stuff
2292
2293 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
2294
2295         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
2296         glib) and now useless utf_to_latin1() latin1_to_utf()
2297
2298         * gtk/gtktextview.[ch]: Change ::move_insert and
2299         ::delete_text action signals to ::move and ::delete;
2300         create the signals with the right enumeration type,
2301         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
2302         C-v bindings, change Home, End to move to beginning/end
2303         of line, Add C-Home C-End to move to beginning/end
2304         of buffer. Change ::cut_text to ::cut_clipboard, etc;
2305         combine ::scroll_text into ::move; use new GtkSelectionData
2306         functions to simplify DND text handling.
2307         
2308         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
2309         deletion enumerations here, rename enumeration values to 
2310         be consistently plural.
2311
2312         * gtk/gtktextbuffer.c: Use new clipboard interfaces
2313         for cut/copy/paste and primary selection.
2314
2315         * gtk/gtktextbuffer.[ch]: Remove excess time and
2316         'interactive' arguments from cut/copy/paste;
2317         rename cut to cut_clipboard, etc; remove
2318         gtk_text_buffer_get_clipboard_contents().
2319
2320         * gtk/gtktextlayout.[ch]: Add 
2321         gtk_text_layout_move_iter_to_line_end() to move the iter to 
2322         line ends.
2323
2324         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
2325         Functions to set or get a UTF-8 string on the selection
2326         data.
2327
2328         * gtk/gtkclipboard.[ch]: New, simplified selection handling
2329         interfaces.
2330
2331         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
2332         created widgets - one of these is useless if we don't.
2333
2334         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
2335         a public function clear all targets registered for the
2336         widget.
2337
2338         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
2339         Never call gtk_widget_realize() - that was just asking
2340         for bizarre side-effects.
2341
2342         * gtk/gtkselection.c (gtk_selection_owner_set): Call
2343         gdk_selection_owner_set even if the widget is the
2344         same so that we reliably update the timestamp on
2345         the server.
2346
2347         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
2348         gdk_x11_get_server_time() function.
2349         
2350         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
2351         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
2352         Add some tricky filtering on serial numbers for
2353         selection clear events to fix up long-standard
2354         race condition FIXME's in gtkselection.c.
2355
2356         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
2357         routines to convert from utf8 to compound text or
2358         STRING and from a text property to UTF-8.
2359
2360         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
2361         a convenience function gdk_get_current_event_time().
2362
2363         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
2364         and free selection_data->data properly
2365
2366 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
2367
2368         * gtk/gtkthemes.c: Remove some unecessary includes.
2369
2370 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
2371
2372         * gtk/gtktextdisplay.c
2373         * gtk/gtktextlayout.c
2374         * gtk/gtktexttag.c
2375         * gtk/gtktexttag.h
2376         * gtk/testtext.c: Change the overstrike property to strikethrough,
2377         to closer match pango.
2378
2379 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
2380
2381         * gtk/gtktextview.c: Fix up visibility so that focus,
2382         cursor_visible and blink interact properly.  Reenable cursor blink
2383         which had been roughly disabled. Make blink and focus
2384         properly per-view.
2385
2386         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
2387         Add a flag for whether to display insertion cursor and
2388         a function to set the flag.
2389
2390         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
2391         get_line_y() to get_line_yrange(), to be a bit more generally
2392         useful.
2393
2394 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
2395
2396         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
2397           do stop_navigating_submenu, to clear last timeout properly.
2398           Also in gtk_menu_motion_notify move ignore_enter above
2399           the conditional to make it always happen as suggested by Owen
2400
2401 2000-09-07  Tor Lillqvist  <tml@iki.fi>
2402
2403         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
2404
2405         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
2406         w32api headers.
2407
2408         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
2409         declarations.
2410
2411         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
2412         (gdk_win32_get_colormap): A line had been deleted by mistake.
2413
2414         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
2415         (gdk_event_translate): Handle more virtual keycodes to be able to
2416         generate GDK events for Control-comma, Control-period, etc.
2417
2418         * gtk/gtk.def: Add some missing entry points.
2419
2420 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
2421
2422         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
2423         Doc comment fixing. (Mostly non-matching parameter names.)
2424
2425         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
2426         comments a little to avoid looking like a doc comment.
2427
2428         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
2429         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
2430         conversions be changed to GError?)
2431
2432         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
2433         Move private #defines into .c file.
2434
2435         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
2436         order of argument addition, remove duplicates.
2437
2438         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
2439         parent class is FrameClass, not BinClass.
2440
2441         * gtk/gtk.h: Add gtkinvisible, which was missing.
2442         (It's occasionalyl useful for client apps, if seldom.)
2443
2444         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
2445         #define.
2446
2447 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
2448
2449         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
2450         coordinates when creating window, instead of GDK-space
2451         coordinates. (Avoid BadValue on too large windows.)
2452
2453 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
2454
2455         * configure.in (use_mmx_asm): Remove conftest* after use along the
2456         lines of AC_TRY_COMPILE.        
2457         
2458         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
2459         of g_dirname, which is deprecated.
2460         (gtk_rc_parse_any): Removed calls to
2461         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
2462
2463         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
2464         Removed calls to g_hash_table_{freeze,thaw}, as they are
2465         deprecated now.
2466
2467         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
2468         instead of g_basename.
2469         
2470 2000-09-04 Elliot Lee <sopwith@redhat.com>
2471         
2472         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
2473         ANSI warning.
2474
2475 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
2476
2477         * gtk/gtkwidget.h:  Add some documenting comments about 
2478           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
2479           just as owen said on irc.
2480
2481         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
2482           set HAS_DEFAULT.  Only set it if there isn't another window
2483           holding it (a focus window which RECEIVES_DEFAULT) and only unset
2484           it if the widget is not the focused window with RECEIVES_DEFAULT.
2485           This fixes weird double default bugs in dialogs which has things
2486           call gtk_window_set_default at times.
2487
2488 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
2489
2490         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
2491         Nils Barth and David Santiago to improve submenu
2492         navigation. The patch does this by creating a triangular
2493         region from the point where the pointer leaves the
2494         menu to the submenu.  While the pointer is in
2495         that region and a timeout has not expired, events 
2496         that would cause the active submenu to change are
2497         ignored.
2498
2499 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
2500
2501         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
2502         moving a toplevel window immediately after sizing it would
2503         result in it being sized back to the old size since 
2504         impl->width, impl->height aren't updated until we hear
2505         back from the server. There is still a (longstanding) bug
2506         here that gdk_window_get_size() will give the wrong size
2507         until we do hear back.
2508
2509 2000-08-31  Havoc Pennington  <hp@redhat.com>
2510
2511         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
2512         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
2513         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
2514         Rename GtkTextStyleValues to GtkTextAttributes
2515
2516 2000-08-31  Havoc Pennington  <hp@pobox.com>
2517
2518         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
2519         for rapid testing whether an iterator is the end iterator
2520         (gtk_text_btree_new): init end line cache
2521         (gtk_text_line_is_last): use fast cached line to 
2522         see if we're the last line.
2523         (get_last_line): use cached line here too, should 
2524         speed up some random unrelated code.
2525         
2526 2000-08-30  Havoc Pennington  <hp@pobox.com>
2527
2528         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
2529         signals.
2530
2531         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
2532         delete_text signals. This allows the signals to be used for
2533         implementing undo.
2534
2535         * gtk/gtktextbuffer.c: Change signal handler signatures; 
2536         provide "interactive" argument when emitting insert_text or
2537         delete_text signal.
2538         
2539 2000-08-30  Havoc Pennington  <hp@pobox.com>
2540
2541         * gtk/gtktextbuffer.c: Docs
2542
2543 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
2544
2545         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
2546         from switch statements, since Tor removed the enumeration
2547         value.
2548         
2549         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
2550         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
2551
2552 2000-08-29 Elliot Lee <sopwith@redhat.com>
2553         * */*.h: Use G_GNUC_CONST.
2554
2555 2000-08-27  Havoc Pennington  <hp@pobox.com>
2556
2557         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
2558         minor indentation fixes, inserted some FIXME about stuff I
2559         realized was broken while documenting it.
2560         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
2561         GTK convention  
2562
2563 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
2564
2565         * gtk/testgtk.c (create_styles): Fix double free of
2566         font desc.
2567
2568 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
2569
2570         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
2571         
2572         * gtk/testgtk.c (create_styles): Add a test for modifying
2573         the style through gtk_widget_modify_*.
2574
2575         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
2576         a function to get the current modifier style.
2577
2578         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
2579         of the passed in GtkRcStyle instead of ref'ing it.
2580
2581         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
2582
2583 2000-08-20  Tor Lillqvist  <tml@iki.fi>
2584
2585         * gdk/gdkimage.h
2586         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
2587         shared memory image+pixmap GdkImage type, or
2588         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
2589         I am dropping that.
2590
2591         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
2592         actually call gtk_init_abi_check(), passing also
2593         sizeof(GtkWindow). Ditto for gtk_init_check(). 
2594
2595         * gtk/gtk.def
2596         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
2597         New functions, used to check that the GTK+-using code has been
2598         compiled using the correct compiler and switches. In particular,
2599         with gcc one has to use the -fnative-struct switch as GTK+ is
2600         compiled with that.
2601
2602 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
2603
2604         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
2605         ->prev fields when merging lists. (Found simultaneously
2606         by Pawel Salek and Jakub Jelinek)
2607
2608 2000-08-12  Tor Lillqvist  <tml@iki.fi>
2609
2610         * gdk/gdk.def
2611         * gtk/gtk.def: Add missing entries.
2612
2613         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
2614         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
2615
2616         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
2617         function. Dummy implementation at this point.
2618
2619         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
2620         rules. Undefine GTK_COMPILATION when compiling the test programs.
2621         
2622         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
2623
2624 2000-08-11  Tor Lillqvist  <tml@iki.fi>
2625
2626         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
2627         to convert back and forth from UTF-8 and the "system" (or "current
2628         locale") charset when necessary. Indentation/spacing cleanup.
2629
2630 2000-08-10  Havoc Pennington  <hp@redhat.com>
2631
2632         * Makefile.am (snapshot): Change the format of the snapshot
2633         version to match glib
2634
2635         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
2636         from EXTRA_DIST since it doesn't seem to exist
2637
2638 2000-08-10  Tor Lillqvist  <tml@iki.fi>
2639
2640         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
2641         version of the directory name (not the UTF-8 one) when building
2642         the path name to stat().
2643
2644 2000-08-03  Elliot Lee  <sopwith@redhat.com>
2645
2646         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
2647         PANGO_ATTR_SHAPE set.
2648
2649 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
2650
2651         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
2652         Peter Osterlund to simplify the code while keeping the
2653         functionality the same.
2654
2655 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
2656
2657         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
2658         is_viewable() test further inside the function, since removing the 
2659         window from the redraw list without clearing ->update_area
2660         was also very broken.
2661
2662 2000-08-02  Tor Lillqvist  <tml@iki.fi>
2663
2664         * configure.in: Check for <unistd.h>.
2665
2666 2000-08-01  Martin Baulig  <baulig@suse.de>
2667
2668         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
2669         to display the message that this is a development version of GTK+.
2670
2671 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
2672
2673         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
2674         was depending on widget->allocation instead of the width of text_area,
2675         which was incorrect for subclasses like GtkSpinButton.
2676
2677         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
2678         with width == 1 tests that should be width == -1.
2679
2680 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
2681
2682         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
2683         (broken, Elliot, every single window blank on X) custom code with call
2684         to gdk_window_is_viewable() which a) prevents code duplicate and
2685         b) works. 
2686
2687 2000-07-31  Elliot Lee  <sopwith@redhat.com>
2688
2689         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
2690         to get the GDK_PARENT_ROOT() macro to work.
2691         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
2692         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
2693         of, windows that aren't shown.
2694         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
2695         pointer grab stuff.
2696
2697 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
2698
2699         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
2700           s/gtk_main_iteration/g_main_iteration/
2701
2702           Did this already in change:
2703                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
2704           don't know how it got reverted.
2705
2706 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
2707
2708         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
2709         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
2710
2711         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
2712         not gdk_pixbuf.
2713
2714 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
2715
2716         * configure.in,po/{sp,sr}.po: Added Serbian files
2717
2718 2000-07-30  Tor Lillqvist  <tml@iki.fi>
2719
2720         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
2721
2722         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
2723         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
2724         GIOChannel implementation.
2725
2726         * gdk/win32/gdkinput.c
2727         * gdk/win32/gdkpango-win32.c: Update license name here, too.
2728
2729         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
2730         definition to match prototype.
2731
2732         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
2733
2734 2000-07-27  Elliot Lee  <sopwith@redhat.com>
2735
2736         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
2737         function, to allow handling image formats that cannot be detected
2738         by looking at content alone.
2739
2740 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
2741
2742         * docs/tutorial/*.gif *.jpg *.eps
2743           Update these to the same look-n-feel.
2744           Why does including images in DocBook suck so badly?
2745
2746 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
2747
2748         * gtk/gtktable.c: applied patch from Phil Thompson
2749         <phil@river-bank.demon.co.uk> that enables space settings for
2750         the last row/columns as well.
2751
2752 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
2753
2754         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
2755         updates the license headers to the GNU Lesser General Public License,
2756         as well as updating the copyright year to 2000.
2757
2758 2000-07-26  Robert Brady  <rwb197@zepler.org>
2759
2760         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
2761           and po/Makefile, was installing and looking for them under gtk20
2762           and gtk2 respectively.
2763
2764 2000-07-25  Havoc Pennington  <hp@redhat.com>
2765
2766         * gtk/testtext.c: Comment out some stuff that depends on the rest
2767         of my patches.
2768
2769 2000-07-25  Havoc Pennington  <hp@redhat.com>
2770
2771         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
2772         buffer
2773
2774 2000-07-25  Havoc Pennington  <hp@redhat.com>
2775
2776         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
2777         widget changes.
2778
2779         * gtk/gtktextview.h: To be consistent with usage of "line"
2780         throughout the API to mean "newline-terminated thingy", change
2781         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
2782         to MOVEMENT_LINE.
2783
2784         (GtkTextView): Add flags for default editability, and whether to
2785         show the cursor. Add functions to get/set that. Add 
2786
2787         (gtk_text_view_get_iter_location): new function
2788
2789         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
2790         gtktextlayout.h
2791         (g_convert): Add g_convert temporarily, will go in glib in a bit
2792         
2793         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
2794         GtkTextTagTableForeach instead of brokenly using GHFunc.
2795         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
2796
2797         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
2798         moved to public header.
2799
2800         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
2801         "invisible", since "elide" was a bad name.
2802         (gtk_text_tag_get_priority): Added
2803
2804         (GtkTextStyleValues): put this in public header, along with
2805         functions to use it.
2806
2807         * gtk/gtktextmarkprivate.h: Include more headers, since we no
2808         longer include gtktextbtree.h.
2809
2810         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
2811         gtk_text_mark_deleted
2812
2813         * gtk/gtktextlayout.h: Don't include the "really private" headers,
2814         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
2815         to make this possible. Now we only need to install
2816         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
2817         (However the Makefile.am isn't changed yet because of the
2818         logistics of merging gtk-hp-patches piecemeal)
2819
2820         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
2821         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
2822         gtk_text_iter_get_line is now used in the public API for a
2823         different purpose.
2824
2825         * gtk/gtktextiter.h: Clean up function names to be more
2826         consistent. Always call char offset "offset" and byte index
2827         "index". A "line" is always a line number. 
2828
2829         (gtk_text_iter_is_last): new function, more efficient than 
2830         the existing way to check
2831         (gtk_text_iter_is_first): new function, also more efficient
2832
2833         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
2834
2835         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
2836         gtk_text_iter_forward_char, etc.
2837
2838         (gtk_text_iter_forward_to_tag_toggle): Renamed from
2839         forward_find_tag_toggle, since this isn't a linear search
2840
2841         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
2842
2843         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
2844         New functions, search for a buffer substring.
2845
2846         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
2847         interactive and default editable (since we need to store that info
2848         until we receive the selection data).
2849
2850         Remove all the _at_char and at_line etc. versions of functions;
2851         only have iterator versions.
2852
2853         Add _interactive() versions of functions, that consider the
2854         editability of text. (FIXME add interactive flag to the 
2855         insert/delete signals per Darin's suggestion)
2856
2857         (gtk_text_buffer_get_tag_table): new function, demand-creates the
2858         tag table if necessary
2859
2860         Remove declaration of gtk_text_buffer_get_iter_from_string
2861
2862         (_gtk_text_buffer_get_btree): private/internal function, added.
2863         
2864
2865         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
2866         (gtk_text_line_is_last): new function
2867
2868 2000-07-25  Havoc Pennington  <hp@redhat.com>
2869
2870         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
2871         using GtkProgressBar. See Changes-2.0.txt for details.
2872
2873         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
2874         "pulse_step" which are the equivalent of
2875         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
2876         Implement new API.
2877         
2878         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
2879         (use_text_format) to mark whether text set on the progress bar is
2880         a format string. Deprecate entire GtkProgress interface.
2881
2882         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
2883         (gtk_progress_build_string): make this a no-op if use_text_format
2884         is FALSE
2885
2886         * docs/Changes-2.0.txt: Describe progress bar changes.
2887
2888 2000-07-25  Tor Lillqvist  <tml@iki.fi>
2889
2890         * Makefile.am: Include the build directory.
2891
2892         * configure.in: Generate build/Makefile, build/win32/Makefile,
2893         gdk/, gdk/win32/, and gtk/makefile.mingw.
2894
2895         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
2896         Add GETTEXT_PACKAGE.
2897         
2898         * gdk/gdk.def
2899         * gtk/gtk.def: Updates.
2900
2901         * gdk/gdkfont.h
2902         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
2903         need them any longer.
2904
2905         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
2906
2907         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
2908         PANGOWIN32_LIBS and gdk_pixbuf.
2909
2910         * gdk/win32: Compiles, but no doubt doesn't work at all.
2911
2912         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
2913
2914         * gdk/win32/gdkinput.c: New file, temporarily.
2915         
2916         * gdk/win32/gdkinput-win32.h: New file
2917
2918         * gdk/win32/gdkinputprivate.h: Remove.
2919
2920         * gdk/win32/gdkpango-win32.c: New file.
2921
2922         * gtk/makefile.mingw.in: New file
2923
2924         * gtk/makefile.cygwin: Removed
2925         
2926         * gtk/Makefile.am: Update accordingly.
2927
2928         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
2929         made externally visible.
2930
2931         * gtk/gtkmain.c: Use it.
2932         
2933         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
2934         is enough.
2935
2936         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
2937
2938 2000-07-24 Elliot Lee <sopwith@redhat.com>
2939         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
2940         individual backends already.
2941         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
2942         again. Yes, there really is a good reason for this, if you are using the gdkregion
2943         internals, and if you're not, why do you care?
2944         * gdk/gdkwindow.c: Fix inverted condition
2945         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
2946         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
2947         * gtk/gtkrange.c: Redraw trough when moving.
2948         * gtk/gtktypeutils.c: Fix warning by adding const cast.
2949         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
2950
2951 2000-07-23  Tor Lillqvist  <tml@iki.fi>
2952
2953         * configure.in: Check for mkstemp and sigsetjmp. Output
2954         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
2955
2956         More work on GDK for Win32. Still in an intermediate state.
2957
2958         * gdk/makefile.cygwin
2959         * gdk/win32/makefile.cygwin: Removed.
2960         
2961         * gdk/makefile.mingw.in
2962         * gdk/win32/makefile.mingw.in: New files.
2963
2964         * gdk/Makefile.am
2965         * gdk/win32/Makefile.am: Generate and distribute them.
2966
2967         * gdk/win32/gdkwindow-win32.h
2968         * gdk/win32/gdkdrawable-win32.h
2969         * gdk/win32/gdkpixmap-win32.h: New files.
2970
2971         * gdk/win32/gdkcolor-win32.c
2972         * gdk/win32/gdkcursor-win32.c
2973         * gdk/win32/gdkdrawable-win32.c
2974         * gdk/win32/gdkgc-win32.c
2975         * gdk/win32/gdkimage-win32.c
2976         * gdk/win32/gdkprivate-win32.h
2977         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
2978         Rename fields and variables called xcursor, xid, etc (these names
2979         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
2980
2981 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
2982
2983         * gtk/gtkentry.[ch]: Fix some problems with vertical
2984         alignment.
2985
2986         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
2987         char/byte confusion.
2988
2989 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
2990
2991         * gtk/gtktextview.c (changed_handler): Fix bug where
2992         redraw wasn't being done properly when height of
2993         dirty region changed.
2994
2995         * demos/Makefile.am: Remove various references to
2996         -lgmodule
2997
2998 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
2999
3000         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
3001         PangoAttrShape to reserve space for pixmaps, add 
3002         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
3003         in the display functions.
3004         
3005         * gtk/testgtk.c (create_layout): Set some more exotic
3006         scrolled window options
3007
3008         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
3009         Add function to set the shadow type of a window, to allow
3010         putting a shadow around widgets such as GtkLayout or GnomeCanvas
3011         which don't draw their own frame.
3012
3013 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
3014
3015         * docs/tutorial/package-db-tutorial.sh: New file for
3016           packaging DocBook format tutorial
3017
3018 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
3019
3020         * docs/tutorial/gtk-tut.sgml: Minor updates
3021
3022         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
3023
3024 2000-07-19  Tor Lillqvist  <tml@iki.fi>
3025
3026         * gtk/gtksignal.c: Fix C++ comment.
3027
3028         * gtk/gtkimmulticontext.c
3029         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
3030         don't return value from void functions.
3031
3032         * gtk/gtk.def: Add gtk_rc_style_unref.
3033
3034 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3035
3036         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
3037         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
3038         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
3039         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
3040         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
3041         gtk/gtktypeutils.h: Include files outside of the extern "C"
3042         block. Makes some C++ compiler happy. Reported by Denis Vakatov
3043         <vakatov@peony.nlm.nih.gov>.
3044
3045 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
3046
3047         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
3048           Completes first pass. Hurrah!
3049
3050 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
3051
3052         * docs/tutorial/gtk-tut.sgml: More clean ups.
3053
3054 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
3055
3056         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
3057         paint the background of the text area which was accidentally
3058         removed at some point.
3059
3060         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
3061           
3062          - Move most of the functionality from the theme vtable
3063            into GtkRcStyleClass and GtkStyleClass. The moved
3064            vtable functions were changed a bit in the move to
3065            work better in their new home.
3066
3067          - Get rid of the engine and engine_data fields from
3068            GtkRcStyle and GtkStyle; instead the theme
3069            engine derives theme-specific subclasses of GtkRcStyle
3070            and GtkStyle
3071
3072          - Add extra dlsym() found entry point to themes,
3073            theme_create_rc_style().
3074
3075         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
3076         in gtk_style_real_copy.
3077
3078         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
3079         to register a type associated with an engine. (The engine
3080         won't be unloaded as there is an instance of the type.)
3081
3082
3083 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
3084
3085         * docs/tutorial/gtk-tut.sgml: Clean ups.
3086
3087 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
3088
3089         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
3090           of cleaning up to do.
3091
3092 2000-07-15  Tor Lillqvist  <tml@iki.fi>
3093
3094         * gdk/testgdk.c: New file, quick hack to test backends for
3095         pixel-by-pixel correctness of the most simple graphic operations.
3096
3097 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
3098
3099         * Really release 1.3.1
3100         
3101         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
3102         include structure.
3103
3104 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
3105
3106         * Released 1.3.1
3107
3108 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
3109
3110         * gtk/gtktextlayout.c: use FALSE for size_only most
3111         of the time when calling gtk_text_layout_get_line_display()
3112         to avoid causing double reshapes when a redraw follows
3113         immediately after.
3114
3115 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
3116
3117         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
3118         appropriate region and gdk_window_process_updates() so trough
3119         updating doesn't lag behind the window being scrolled.
3120
3121         * gdk/gdkgc.c: Make parent_class pointer static.
3122          
3123 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
3124
3125         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
3126         include <string.h>.
3127          
3128         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
3129         cut-and-paste error in computing memory offset for 4 channels.
3130
3131 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
3132
3133         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
3134         gtk_rc_append_default_pixmap_path(), since it wasn't
3135         adding an interesting path and we don't have a meaningful
3136         default for this value.
3137
3138 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
3139
3140         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
3141         gtk-config to gtk-config-2.0 move gtk_.m4 to
3142         gtk-2.0.m4
3143
3144         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
3145         gdk/Makefile.am demos/Makefile.am: Change 
3146         library names to libgtk-1.3.la, etc, so that we
3147         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
3148
3149         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
3150         gdk/Makefile.am gdk/x11/Makfile.am
3151         Move include files into /usr/include/gtk-2.0, 
3152         /usr/lib/gtk-2.0/include/
3153          
3154         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
3155         gtk/gtkintl.h: Change package for gettext from 
3156         gtk+ to gtk20. Put hack in autogen.sh to modify
3157         po/Makefile.in.in after gettextize to make this
3158         possible.
3159
3160         * gtk+.spec: Some updates, not tested.
3161
3162         * gdk-pixbuf/Makefile.am: Move loaders into
3163         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
3164
3165         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
3166         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
3167         to THEMENAME/gtk-2.0/. Move engine directory  to
3168         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
3169         
3170 2000-07-12  Tor Lillqvist  <tml@iki.fi>
3171
3172         Win32 changes, still doesn't build though.
3173
3174         * gdk/makefile.cygwin
3175         * gdk/win32/makefile.cygwin
3176         * gtk/makefile.cygwin: Updates.
3177
3178         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
3179         default values for fg and bg pixel as X11 does (0 and 1), not
3180         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
3181         Use 0 for pen width by default (treated as 1 anyway later, but for
3182         apps that might check the value in the GdkGC).
3183         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
3184         interface to gdk_gc_predraw and _postdraw.
3185
3186         * gdk/win32/gdkwin32.h
3187         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
3188
3189         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
3190         extraneous semicolon.
3191
3192         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
3193
3194         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
3195         not the Win32 bitspixel value.
3196
3197         * gdk/win32/gdkcc-win32.c:
3198         * gdk/win32/gdkcolor-win32.c 
3199         * gdk/win32/gdkprivate-win32.h
3200         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
3201         GDK object structure.
3202
3203 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
3204
3205         * docs/tutorial/gtk_tut_12.es.sgml (name): 
3206         * docs/tutorial/gtk_tut_it.sgml (name): 
3207         * docs/tutorial/gtk_tut_fr.sgml (name): 
3208         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
3209         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
3210
3211 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
3212
3213         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
3214           small changes.
3215
3216 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
3217
3218         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
3219         a bug here, never been here and never fixed anything ;(
3220         (don't segfault if tree->root_tree is NULL, which happens prior
3221         to widget realization, but puke instead).
3222
3223 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
3224
3225         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
3226         add the necessary tokens.
3227
3228         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
3229         (gtk_rc_style_to_style): copy thicknesses.
3230         (gtk_rc_init_style): apply thicknesses.
3231         (gtk_rc_parse_style): parse xthickness and ythickness.
3232
3233         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
3234
3235         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
3236         (gdk_window_new): 
3237         (_gdk_windowing_window_init): 
3238         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
3239         (gdk_pixmap_create_from_data): 
3240         (gdk_bitmap_create_from_data): 
3241         (gdk_pixmap_new): 
3242         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
3243         (gdk_image_new): 
3244         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
3245         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
3246         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
3247         (gdk_colormap_get_system): 
3248         (gdk_colormap_new): 
3249         * gdk/gdkwindow.c (gdk_window_init): 
3250         * gtk/gtkstyle.c (gtk_style_new):
3251         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
3252         * gdk/gdkpixmap.c (gdk_pixmap_init): 
3253         * gtk/gtkrc.c (gtk_rc_style_new):
3254         use g_object_new() instead of g_type_create_instance() which
3255         is a private function for fundamental type implementations.
3256
3257 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
3258
3259         * configure.in: Add check for db2html
3260
3261 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
3262
3263         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
3264         hack to set glib_debug_objects based on gtk_debug_flags.
3265
3266 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
3267
3268         * INSTALL.in: Update the Prerequisites section.
3269
3270         * Makefile.am demos/Makefile.am docs/Makefile.am
3271         docs/tutorial/Makefile.am gdk/x11/Makefile.am
3272         gdk/linux-fb/Makefile.am: Dist fixes
3273
3274 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
3275
3276         * NEWS: 10,000 foot view of 1.3.1 changes.
3277
3278 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
3279
3280         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
3281         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
3282         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
3283         gdk/x11/gdkmain-x11.c: 
3284
3285         Patch from George Lebl to add a GdkGrabStatus enumeration to use
3286         as a return value of gdk_*_grab(). Previously, we just
3287         returned the X11 values directly.
3288
3289 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
3290
3291         * gdk/x11/Makefile.am: Patch from George Lebl to 
3292         install all the headers in the right place.
3293
3294 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
3295
3296         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
3297           initial conversion to DocBook.
3298
3299 2000-07-04  Tor Lillqvist  <tml@iki.fi>
3300
3301         * README.win32: Improve a bit.
3302
3303         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
3304         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
3305         Alt+0nnn on the numpad (used to enter characters by numeric code
3306         from current DOS or ANSI codepage) working correctly, as in other
3307         Windows apps.
3308
3309         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
3310         same argument validity tests as in X11 version.
3311         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
3312
3313         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
3314         definitions in case missing from headers.
3315
3316         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
3317         destroy the window-specific cursor.
3318         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
3319         calling GetModuleHandle(NULL).
3320         (gdk_window_set_cursor): Reworked to always copy the passed cursor
3321         with CopyCursor before setting it as the window-specific
3322         cursor. It is OK for the caller to destroy the GdkCursor (and thus
3323         also its Windows cursor) after calling this function. Destroy any
3324         previous window-specific cursor.
3325
3326 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
3327
3328         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
3329         font charset is iso8859-1, not iso-8859-1.
3330
3331 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
3332
3333         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
3334         Use g_get_charset() instead of g_get_codeset().
3335
3336         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
3337         Comment out some strdup'ing functions to keep timj
3338         happy until we finish fighting this out.
3339
3340 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
3341
3342         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
3343         <= width or height.
3344
3345         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
3346         from 1.2 for parent/child states.
3347
3348         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
3349         of typos.
3350
3351         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
3352         event structures, replace with a generic axes field. Replace 
3353         deviceid/sourec with GdkDevice *device.
3354
3355         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
3356         to extract particular axis use value from event. (Also
3357         can be used for normal X/Y.)
3358
3359         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
3360         allow for arbitrary number of axes, namespace everything
3361         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
3362         everywhere.
3363
3364         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
3365         Get rid of the gdk_input_vtable setup if favor of simply
3366         defining the functions in gdkinput-none/gxi/xfree.c in
3367         a similar fashion to the way that the port structure is 
3368         done.
3369
3370         * gtk/gtkdnd.c: Fix fields of synthesized button press event
3371         for new event structures. 
3372
3373         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
3374         new device interfaces.
3375
3376 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
3377
3378         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
3379         set the initial text.
3380
3381         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
3382         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
3383         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
3384         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
3385
3386         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
3387         pango_layout_set_font_description to simplify.
3388
3389 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
3390
3391         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
3392         pango_layout_set_font_description to simplify.
3393
3394 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
3395
3396         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
3397         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
3398         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
3399
3400         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
3401         PANGO_PIXELS() macro.
3402
3403 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
3404
3405         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
3406         that returns a PangoContext owned by the widget and updated to
3407         match future changes in the widget. Also, make 
3408         gtk_widget_create_pango_layout() use this context. If we ever
3409         add a ::changed signal to PangoContext, this will make things
3410         much more convenient. 
3411
3412         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
3413         in the appropriate places instead of destroying the layouts and
3414         creating new ones.
3415
3416         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
3417         in a few strategic places.
3418
3419 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
3420
3421         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
3422         gtk_widget_size_request() on reparented child, if one. Otherwise,
3423         queue_resize() on the child never results in it getting size-requested
3424         at all.
3425
3426         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
3427         in option menus, so that (with luck) people won't copy it into
3428         their apps in the future.
3429
3430         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
3431         to gtk_option_menu_calc_size. This isn't perfect, but should fix
3432         a lot of problems with changing the size of the menu's menu
3433         items after adding it to the option menu.
3434
3435         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
3436
3437         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
3438         the text direction for a widget changes.
3439
3440         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
3441         ::direction_changed to get rid of various hacks.
3442
3443 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
3444
3445         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
3446         name.
3447
3448 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
3449
3450         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
3451         flag to the structure. Do not call XFreePixmap on pixmaps created
3452         by gdk_pixmap_foreign_new().
3453
3454 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
3455
3456         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
3457         value using GdkRGB functionality given GdkColormap and GdkColor.
3458         (name not final, waiting for inspiration.)
3459         
3460         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
3461         set the foreground/background of a GC using the GC's colormap
3462         and GdkRGB. (name not final, waiting for inspiration.)
3463
3464         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
3465         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
3466
3467         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
3468         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
3469         purely a function of the corresponding colormap. Make
3470         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
3471
3472         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
3473         gdk_pixbuf_*create_from_xpm_* in terms of
3474         gdk_pixbuf_new_from_xpm_data(), move into platform independent
3475         code.
3476
3477         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
3478         advantage of the new draw_rgb_32_image_dithalign.
3479
3480         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
3481
3482         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
3483         on each created GC.
3484
3485         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
3486
3487         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
3488         which we initialize from the drawable when the GC is created,
3489         if the drawable has a colormap.
3490
3491         * gdk/x11/gdkgc-x11.c: include string.h for memset.
3492
3493         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
3494
3495         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
3496
3497 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
3498
3499         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
3500         actually returning expose events, make sure to set
3501         the count field properly.
3502
3503         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
3504         accidentally reintroced bug which always cleared
3505         the graphics_exposures value. 
3506
3507 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
3508
3509         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
3510
3511 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
3512
3513         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
3514
3515 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
3516
3517         * docs/faq/gtk-faq.sgml: Start of Section 6.
3518
3519 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
3520
3521         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
3522         
3523         (Fixes problem with drawing childless frames. Pointed out
3524         by and a first patch from Anders)
3525         
3526         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
3527         compute a child_allocation, even if we don't have a child.
3528
3529         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
3530         Always chain to the parent's impl, even if we don't have a child.
3531
3532 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
3533
3534         * gdk/gdkrgb.c: If possible, create only a single shm segment and
3535         use multiple parts of it instead of creating a bunch of separate
3536         segments, since the maximum number of segments per system is not
3537         large. (This might be worth backporting to GTK+-1.2.x if we make a
3538         new release )
3539
3540         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
3541         structure in preparation for per-colormap GdkRGB.
3542
3543         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
3544         to False when we get EINVAL from shmget so that the caller of
3545         gdk_image_new can retry with a smaller segment size.
3546
3547 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
3548
3549         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
3550
3551 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
3552
3553         * configure.in: make the current version number 1.3.1 (binary age 0,
3554         interface age 0).
3555         
3556         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
3557         gtkcompat.h is all we want.
3558
3559         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
3560         GLib primitive types. fixed g_type_register_fundamental() argument
3561         ordering.
3562
3563         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
3564         compiles.
3565
3566         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
3567         object code cleanup, comment trigraph fixes, etc...
3568
3569 2000-06-23  Havoc Pennington  <hp@redhat.com>
3570
3571         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
3572         instead of making up a bogus name for first_para_mark
3573
3574         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
3575         0 as a context ID
3576
3577 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
3578
3579         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
3580
3581 2000-06-21  Havoc Pennington  <hp@pobox.com>
3582
3583         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
3584         we didn't check window->bg_pixmap != GDK_NO_BG.
3585
3586         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
3587         gdk-pixbuf
3588
3589 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
3590
3591         * docs/faq/gtk-faq.sgm: Move file to here.
3592           TODO: Update Makfile.am 
3593
3594 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
3595
3596         * docs/gtk-faq.sgm: Add Section 2
3597
3598 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
3599
3600         * docs/gtk-faq.sgm: New file. Start of DocBook
3601           version of the FAQ.
3602
3603 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
3604
3605         * configure.in (GDK_PIXBUF_MAJOR): Define version
3606         numbers for GDK_PIXBUF_*, as they get substituted
3607         into a header file. Need to consider versioning
3608         for gdk-pixbuf more carefully later.
3609
3610 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
3611
3612         Work with srcdir != builddir.   
3613         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
3614         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
3615         * demos/testpixbuf.c: Likewise.
3616         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
3617         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
3618         <gdk/x11/gdkx.h>.
3619         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
3620         "gdk-pixbuf.h".
3621         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
3622
3623 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
3624
3625         * TODO.xml: Change 1.4 version numbers to 2.0.
3626
3627 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
3628
3629         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
3630         fixups to GTK+ standard.
3631
3632 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
3633
3634         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
3635         gdk-pixbuf.
3636
3637         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
3638         fixups for GObject.
3639
3640         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
3641         gdk-pixbuf with GDK dependencies moved into GDK.
3642         
3643         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
3644         move gdk-pixbuf-loader here until GObject has signals.
3645
3646         * demos/: New directory of demos. Move demos from
3647         gdk-pixbuf here.
3648
3649         * demos/pixbuf-init.c: Small bit of code to check for
3650         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
3651         set GDK_PIXBUF_MODULEDIR appropriately.
3652
3653         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
3654         define which no longer makes sense.
3655
3656 2000-06-21  Havoc Pennington  <hp@redhat.com>
3657
3658         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
3659         gtk_get_default_language
3660
3661         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
3662         new function to get the default language
3663
3664         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
3665         s/gtk_text_view_style_values/gtk_text_style_values/
3666
3667         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
3668         Add a "language" field to tags.
3669
3670         (gtk_text_tag_set_arg): Fix bug in setting
3671         "bg_full_height_set" tag.
3672
3673 2000-06-21  Havoc Pennington  <hp@redhat.com>
3674
3675         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
3676         in the interfaces
3677
3678         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
3679         stuff instead when possible.
3680
3681         * gtk/gtktexttypes.h: Delete some unused constants
3682
3683         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
3684         testtextbuffer.c: use glib instead of custom unicode routines
3685
3686 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
3687
3688         * docs/es/: Removed mistakenly added generated sgml
3689
3690         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
3691         Remove outdated info files.
3692
3693         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
3694         Moved tutorial files into subdir
3695
3696         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
3697         subdir.
3698
3699         * docs/man/gtk_button.pod: Remove. (contents will be
3700         integrated into gtk-reference button page.)
3701
3702         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
3703         docs/faq/Makefile.am: Adjust for new organization
3704
3705 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
3706
3707         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
3708         not $(MKINSTALLDIRS)
3709
3710 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
3711
3712         * gtk/testgtk.c (create_text): Finish the job Elliot started
3713         of removing font setting test for text widget. (Since text widget
3714         and GdkFont are not deprecated, and cause portability problems.)
3715
3716 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
3717
3718         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
3719         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
3720         Remove use of libunicode in favor of new GLib functions.
3721
3722         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
3723         nano-x, framebuffer. The X11 include is just a hack until we get
3724         the necessary functions in gdkcolor.h, so there is no reason to
3725         add other includes of platforms.
3726
3727         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
3728         window bigger than the screen change.
3729
3730         * gtk/testgtk.c: Revert some random changes from Elliot
3731         that had no particular point and were causing testgtkrc
3732         not to function correctly.
3733         
3734         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
3735         because GdkSegment and GdkRegionBox have the same fields,
3736         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
3737         results in clearer code.
3738
3739         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
3740         gdk_input_translate_coordinates): Fix missed GdkObjectification
3741
3742 2000-06-18  Elliot Lee  <sopwith@redhat.com>
3743
3744         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
3745         * gtk/gtk{plug,socket}.h: Missed commits from previous.
3746
3747 2000-06-20  Havoc Pennington  <hp@redhat.com>
3748
3749         * modules/linux-fb/Makefile.am: Make this compile
3750         without framebuffer enabled
3751
3752         * gdk/linux-fb/Makefile.am: Add conditional to not build
3753         framebuffer unless specified in configure
3754
3755         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
3756         the size of the target instead of source if -1 was passed for
3757         width/height
3758
3759         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
3760         width/height confusion.
3761
3762 2000-06-19  Havoc Pennington  <hp@redhat.com>
3763
3764         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
3765         GDK_DRAWABLE_XID. In the future, we probably want to make it
3766         faster with G_DISABLE_CHECKS turned on.
3767
3768 2000-06-14  Havoc Pennington  <hp@redhat.com>
3769
3770         * gdk/Makefile.am: add gdkpixmap.c
3771
3772         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
3773         s/gdk_image_init/_gdk_windowing_image_init
3774
3775         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
3776         ref/unref
3777
3778         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
3779
3780         * gdk/gdkcompat.h: remove GdkWindowType compat, since
3781         GdkWindowType is now non-deprecated; 
3782         change gdk_window_get_type() compat to be
3783         gdk_window_get_window_type().
3784
3785         * gdk/gdkdnd.h: make GdkDragContext a GObject.
3786
3787         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
3788         virtual GObject. Make all functions call into the vtable.
3789         Move gdk_image_put() guts in here. Remove GdkDrawableType
3790         and gdk_drawable_get_type(), these are now GdkWindow-specific.
3791         draw_image, get_depth, get_size, set_colormap, get_colormap,
3792         get_visual added to the vtable.
3793         
3794         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
3795         GObject. Virtualize everything. 
3796         (gdk_gc_new_with_values): remove check for destroyed window,
3797         because now GdkWindow::create_gc will check this.
3798         (gdk_gc_set_values): New function to set GC values, this 
3799         was already implemented but wasn't in the header
3800
3801         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
3802
3803         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
3804         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
3805         remove _gdk_window_class; add _gdk_window_impl_get_type() and
3806         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
3807         _gdk_windowing_window_init, rename gdk_image_init to
3808         _gdk_windowing_image_init.
3809         
3810         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
3811         (gdk_draw_layout): Remove check for destroyed window, 
3812         because all the drawable methods already check it.
3813         
3814         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
3815         Add gdkpixmap.c which contains implementation of GdkDrawable
3816         virtual table (by chaining to a platform-specific implementation
3817         object).
3818         
3819         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
3820         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
3821         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
3822         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
3823         GdkColormapPrivate. 
3824
3825         * gdk/gdktypes.h: #include <glib-object.h>
3826
3827         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
3828         Move most functionality to platform-specific implementation
3829         object. GdkWindow itself now handles the backing store, then
3830         chains to the platform-specific implementation.
3831         (gdk_window_get_window_type): return GdkWindowType of the window.
3832         (gdk_window_peek_children): New routine, returns the children of 
3833         a GdkWindow
3834         (gdk_window_get_children): Was in X11-specific code and did 
3835         XQueryTree. Changed to simply return a copy of window->children; 
3836         so it can go in cross-platform code.
3837         
3838         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
3839
3840         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
3841         GdkColormap; just changed to use the new private data instead
3842         of casting to GdkColormapPrivate.
3843
3844         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
3845         gdk_cursor_new().
3846
3847         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
3848         (private data member in the GObject). 
3849         (xdnd_manager_source_filter): Function had broken 
3850         error handling, fix it (use gdk_error_trap_push).
3851
3852         * gdk/x11/gdkdrawable-x11.c: This file now implements
3853         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
3854         base class is purely for the convenience of the X port,
3855         and not part of the interface to cross-platform GDK.
3856
3857         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
3858         
3859         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
3860         specific to X, and returned by the create_gc virtual method
3861         of GdkDrawableImplX11. 
3862         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
3863         rather than gchar, this was also changed in the GdkGC vtable.
3864         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
3865         mask is 0, return immediately, instead of checking every flag.
3866         This is faster, and keeps us from segfaulting if values is NULL
3867         and the mask contains some nonzero flags.
3868
3869         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
3870         GdkWindow.
3871
3872         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
3873         GdkWindowPrivate is gone.
3874
3875         * gdk/x11/gdkim-x11.c: rename things that got renamed.
3876
3877         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
3878         remove the image_put stuff that got transferred to GdkDrawable.
3879         
3880         * gdk/x11/gdkinput.c: renamings
3881
3882         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
3883
3884         * gdk/x11/gdkpixmap-x11.c: GObject conversion
3885
3886         * gdk/x11/gdkprivate-x11.h: indentation fixes
3887
3888         * gdk/x11/gdkproperty-x11.c: renamings
3889
3890         * gdk/x11/gdkselection-x11.c: renamings
3891
3892         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
3893         implements the platform-specific "impl" object.
3894         Moved gdk_window_get_children to gdk/gdkwindow.c
3895
3896         * gdk/x11/gdkx.h: Remove all the private structs and private datas
3897         that no longer exist. Add declaration of GdkGCX11 object here.
3898         Fix all the macros to still work. 
3899
3900         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
3901         GdkDragContext from the boxed types since they are now GObjects.
3902
3903         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
3904         moved xthickness/ythickness into the instance. GtkStyleClass
3905         functions are now in the standard vtable for GtkStyle, so you have
3906         to create a GObject subclass to write a theme engine.
3907         (gtk_style_copy): fixed a leaked PangoFontDescription
3908         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
3909         can be the standard GObject function.
3910         
3911         * Throughout GTK:
3912         s/style->klass->[xy]thickness/style->[xy]thickness
3913         s/pango_layout_unref/g_object_unref/
3914
3915         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
3916         
3917         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
3918         accessing GDK internals.
3919
3920         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
3921         accessing GDK internals.
3922
3923 2000-06-18  Elliot Lee  <sopwith@redhat.com>
3924
3925         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
3926
3927         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
3928         problem by calculating event position relative to the trough
3929         rather than the slider.
3930         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
3931
3932         * gdk/gdkgc.h: Add GDK_NOR.
3933
3934         * configure.in, Makefile.am: Add modules top level dir
3935         * configure.in: Only use pangox library if building x11 target.
3936         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
3937
3938 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
3939
3940         * gtk/gtkcolorsel.c: Change private class member to be named
3941         private_data throughout the file.
3942
3943         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
3944         private_data to avoid clashing with keyword.
3945
3946 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
3947
3948         * gdk/gdkdnd.h: Add comment to remove warning.
3949
3950 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
3951
3952         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
3953         Byelorussian language; changed the Makefile and file names 
3954         to reflect that.
3955
3956 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
3957
3958         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
3959         rather than gdk_window_hide; this makes things work
3960         correctly if the window is programmatically hidden while
3961         iconified.
3962
3963 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
3964
3965         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
3966         cut and paste typo where wrong pixmap was being
3967         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
3968
3969 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
3970
3971         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
3972         Add helper function to compute format / bytes 
3973         relationship. Use in a couple places to fix up
3974         errors which assume 8 * format.
3975
3976         * gtk/gtkselection.c (gtk_selection_request): Use 32
3977         rather than 8 * sizeof (GdkAtom), to work correctly
3978         on Alpha.
3979
3980 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
3981
3982         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
3983         libgtk.la
3984         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
3985         versions
3986
3987         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
3988         checking macros return NULL since the function has a return value.
3989
3990 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
3991
3992         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
3993         GTK+ from building at all.
3994
3995         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
3996
3997 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
3998
3999         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
4000         gtk/Makefile.am: make it possible to configure gtk for different
4001         targets on the same platform. The library name is now 
4002         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
4003         flag. Only the x11 target compiles right now.
4004         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
4005         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
4006         * gdk/nanox/gdk*generic*: delete generic region code.
4007         * gdk/linux-fb/gdk*generic*: delete generic region code.
4008         * README.nanox: update information.
4009         
4010 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
4011
4012         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
4013         prepend not append. (Pointed out by Brett Hall.)
4014
4015 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
4016
4017         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
4018
4019 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
4020
4021         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
4022         need this later, and this makes sure that the atexit for
4023         glib gets called after that for GDK, so atexits are
4024         properly ordered for object leak checking.
4025
4026         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
4027
4028         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
4029         pango_x_shutdown_display()
4030
4031         * gtk/simple.c (main): Close window on destroy.
4032
4033 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
4034
4035         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
4036         to treat initial creation different from setting with 
4037         regards to the graphics-exposures parameter, so add a parameter
4038         indicating whether this is initial or not.
4039
4040 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
4041
4042         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
4043         to sort of work by adding an extra return_exposes arg
4044         to gdk_event_translate() - it might be better to simply
4045         deprecate the function altogether and force people to rewrite
4046         without it. gdk_window_scroll() handles most of it, and where
4047         gdk_window_scroll() doesn't work, simply redrawing more does.
4048
4049         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
4050         assertion.
4051
4052         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
4053
4054         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
4055         bunch of pretty much useless /* Print debugging info */ comments 
4056         which had drifted away from the code they were commenting.
4057
4058 2000-06-02  Havoc Pennington  <hp@pobox.com>
4059
4060         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
4061         is in working order.
4062         
4063         * gtk/testtext.c: Change to reflect anonymous mark API
4064
4065         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
4066
4067         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
4068         field, which was unused.
4069
4070         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
4071         saves some typing.
4072
4073         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
4074
4075         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
4076         flag on the insertion point and selection bound
4077
4078         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
4079         make mark-manipulation functions take a GtkTextMark* instead of a
4080         mark name.
4081         
4082         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
4083         GtkTextMarkBody; will be used to detect attempts to delete
4084         the permanent marks (insert and selection bound)
4085
4086         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
4087
4088 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
4089
4090         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
4091         flag to on.
4092
4093         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
4094         Honor DOUBLE_BUFFRED_FLAG
4095
4096         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
4097         function to set the DOUBLE_BUFFERED flag.
4098
4099         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
4100         or not exposes done on the widget should be double-buffered.
4101
4102         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
4103         to be what would be expected. (Fixes problem with a
4104         g_return_if_fail() validating a TextDirection enumeration)
4105
4106 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
4107
4108         * gtk/gtkwidget.c: Remove all references to 
4109         offscreen flag which was no longer used.
4110
4111         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
4112
4113         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
4114         for non-null label_widget->parent.
4115
4116         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
4117         which no longer was used.
4118
4119         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
4120
4121         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
4122         for null arguments.
4123
4124         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
4125         check for destroyed windows.
4126
4127 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
4128
4129         * gtk/gtkimmulticontext.c: Add a finalize method and unref
4130         the slave context there.
4131
4132         * gtk/gtkinvisible.[ch]: Make reference counting behavior
4133         identical to GtkWindow.
4134
4135 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
4136
4137         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
4138         pangox to here, so we can write them independent of rendering
4139         system, using GDK primitives.
4140
4141         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
4142         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
4143         since we have a rendering-system independent implementation in
4144         terms of draw_glyphs().
4145         
4146         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
4147         function to render a single line.
4148
4149         * gdk/x11/gdkpango.c: Move the guts of this file mostly
4150         into ../gdkpango.c, which simplifies things, since we
4151         don't have to deal with raw X gc's.
4152
4153 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
4154
4155         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
4156         get the logical attributes for a given GtkTextLine.
4157
4158 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
4159
4160         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
4161         g_locale_get_codeset() to g_get_codeset() change.
4162
4163 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
4164
4165         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
4166         descriptions.
4167
4168         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
4169         the entry.
4170
4171         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
4172         redoing (vastly simplifying) for Pango. Still needs quite
4173         a bit of work. (Size selection is currently poor. List of 
4174         predefined sizes is not a good idea, since all of these
4175         sizes won't necessarily be distinct.)
4176
4177 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
4178
4179         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
4180         CODESET results for LANG=C.
4181
4182 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
4183
4184         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
4185         which takes a stringized pango font description;
4186         ignore the older 'font' and 'fontset' declarations.
4187
4188         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
4189         field with a GdkFont derived via gdk_font_from_description(),
4190         for compatibility. (Should we just remove it entirely?
4191         Probably too much compatibility breakage, but people
4192         should be migrating to the new Pango stuff as quickly
4193         as possible.)
4194
4195 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
4196
4197         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
4198
4199 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
4200
4201         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
4202         redoing; there are some bugs in size allocation right
4203         now, the semi-existant distinction between header / day
4204         fonts was removed, but, with Pango, could actually
4205         be made functional in a nice way.
4206         
4207         * gtk/testcalender: Move calender from examples into this
4208         directory as a test program. (We really need to restrcture
4209         testgtk into a whole directory full of tests for every
4210         widget or functionality group, separated into multiple .c
4211         files.)
4212
4213 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
4214
4215         * gtk/testgtk.c (file_exists): Fix stupid typo that
4216         was keeping RC file from being loaded.
4217
4218         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
4219         RC file font code.
4220
4221 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
4222
4223         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
4224         Add function to load a GdkFont from a PangoFontDescription.
4225
4226 2000-05-29  Tor Lillqvist  <tml@iki.fi>
4227
4228         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
4229         variable should be of type GdkEventPrivate.
4230
4231 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
4232
4233         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
4234         to have any widget for the label, use a GtkLabel widget
4235         to display the text. (Based partially on a patch from
4236         Anders Carlson.)
4237
4238         (Quite a bit of code reorganization - strip 90% of the
4239         guts out of gtkaspectframe and add a single virtual
4240         func to GtkFrameClass - compute_child_allocation.)
4241
4242 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
4243
4244         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
4245         (Removed clist->row_center_offset field because caching
4246         it wasn't saving time or code, added private function
4247         _gtk_clist_create_cell_layout()).
4248
4249 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
4250
4251         * gtk/gtkaccellabel.c: Pangoized.
4252
4253         * gtk/[hv]ruler.c: Pangoized
4254
4255 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
4256
4257         * gtk/gtkfilesel.c (gtk_file_selection_init):
4258         Use gtk_clist_set_column_auto_resize() to remove need
4259         need for manual column width computations.
4260
4261 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
4262
4263         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
4264         ensuring Pango correctness, and considerably simplifying the
4265         code.
4266         
4267         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
4268
4269         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
4270         getting of numbers of lines.
4271
4272         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
4273         to the actual requested width of the lable, not to the wrap
4274         width we set.
4275
4276         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
4277
4278         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
4279           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
4280
4281         * gtk/gtktextview.c: Fix structure inheritance.
4282
4283         * gtk/gtkprogressbar.c: Pangoize.
4284
4285 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
4286
4287         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
4288         in a function.
4289
4290         * gtk/gtktextlayout.c (find_display_line_above): Fixed
4291         bug with computing line tops.
4292
4293         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
4294
4295 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
4296
4297         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
4298         and y_offset coordinates to do what we need now. (The offset between
4299         buffer and layout coordinates has been reintroduced, but is a 
4300         bit different than before.)
4301
4302         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
4303         handle the adjustments ourselves, and scroll as necessary using
4304         the new gdk_window_scroll().
4305         
4306         The advantage of this is that when we are incrementally revalidating,
4307         we are essentially rearranging things around the visible portion
4308         of the screen. With the old setup, the visible portion of the
4309         screen was moved around in the layout, so scrolling and redrawing
4310         to track that caused jumping of the display. Since we now
4311         control the scrolling ourselves, we can suppress this and
4312         only redraw when things actually change.
4313
4314 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
4315
4316         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
4317         the region not just redisplay it after-all, since we store the
4318         cursors in the LineDisplay. (Ugly interactions here between
4319         GtkLayout and GtkTextBTree here.)
4320         
4321         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
4322
4323 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
4324
4325         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
4326         Added function to scroll contents of a window while keeping the
4327         window constant. Works by XCopyArea or guffaw-scrolling depending
4328         on the details of how the window is set up. (guffaw-scrolling
4329         still needs to be filled in.)
4330
4331 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
4332
4333         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
4334         move the debugging that was tied to a global variable
4335         to that.
4336
4337         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
4338
4339         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
4340         validated flag, in line data instead of setting height/width to
4341         -1. This allows us to perform operations with partially invalid
4342         buffer (using the old size for invalid lines) and thus to do
4343         incremental vaidation. Keep height/width aggregates up to date
4344         when deleting text and rebalancing the tree.
4345
4346         * gtk/gtktextbtree.[ch]: Add functions validate a line
4347         (gtk_text_btree_validate_line), and to validate up
4348         to a number of pixels (gtk_text_btree_validate).
4349
4350         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
4351         that indicates that something is changed and a revalidation
4352         pass is needed. Change ::need_repaint to ::changed, and
4353         make it take old and new yranges instead of a rectangle.
4354
4355         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
4356         the line_data_destroy() function from 
4357         gtk_text_btree_add_view() to a virtual function in 
4358         GtkTextLayout
4359
4360         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
4361         since we are handling partial repaints in a different fashion
4362         now.
4363
4364         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
4365         of the selection instead of queueing a repaint on the
4366         entire widget.
4367
4368         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
4369         get_selection_bounds() down to btree, make the function
4370         in buffer a wrapper around the btree function.
4371
4372         * gtk/gtktextlayout.[ch]: Add functions to check if the
4373         layout is valid and to recompute either a range of pixels
4374         aroudn a line or a certain total number of pixels.
4375
4376         * gtk/gtktextlayout.[ch]: Cache a single line display;
4377         now that we only redraw the needed portions, the hit rate
4378         for this cache is quite high.
4379         
4380         * gtk/gtktextview.[ch]: Keep track of the first paragraph
4381         on the screen so that when re-laying-out the buffer, we can
4382         keep the same place. This requires connecting to ::value_changed
4383         on the adjustments
4384
4385         * gtk/gtktextview.[ch]: Add idle functions to revalidate
4386         the buffer after we receive an ::invalidated signal.
4387         
4388 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
4389
4390         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
4391         to max of allocation and layout size, not just to the
4392         layout size.
4393
4394         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
4395         Invalidate window so it gets redrawn properly.
4396
4397         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
4398         to mean the entire window.
4399
4400         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
4401         into public header.
4402
4403 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
4404
4405         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
4406         to get the name of a mark.
4407
4408         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
4409         to find the paragraph from a y position.
4410
4411 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
4412
4413         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
4414         nodes have width/height >= 0, not > 0.
4415
4416 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
4417
4418         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
4419         Add a size_only flag, so when we only need the size, we don't create
4420         useless appearance attributes.
4421
4422         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
4423         duplicate setting of font description.
4424
4425         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
4426
4427 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
4428
4429         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
4430         EXTRA_DIST. It does not work well when the file that
4431         everything depends on is not in the tarball.
4432
4433 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
4434
4435         * gtk/testgtk.c: Some hacks and fixes so that it basically
4436         works when not sitting in the GTK+ build tree.
4437
4438 2000-05-03  Havoc Pennington  <hp@redhat.com>
4439
4440         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
4441         Properly determine the ordering of the tag root and the current
4442         line within the tree. Previous algorithm only worked if the tag
4443         root's immediate parent was the common root of both the current
4444         line and the tag root.
4445
4446 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
4447
4448         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
4449         alignment.
4450
4451         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
4452         the widget text directional dynamically.
4453
4454         * gtk/gtktextview.[ch]: Added functions to get and set default
4455         wrap mode.
4456
4457 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
4458
4459         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
4460         in cursor location computation.
4461
4462 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
4463
4464         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
4465         vadjusment values properly when layout gets smaller.
4466
4467         * gtk/gtktextview.c (need_repaint_handler): Areas being
4468         passed in are far completely inaccurate, and sometimes
4469         too small, so, for now, just queue a redraw on the
4470         whole visible region.
4471
4472 2000-04-25  Havoc Pennington  <hp@redhat.com>
4473
4474         * gtk/gtktextbtree.c (summary_destroy): new function to 
4475         destroy tag summary nodes
4476         (gtk_text_line_next_could_contain_tag): this function was 
4477         totally broken if the line passed in wasn't below the tag
4478         root. Fix it.
4479         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
4480         "wildcard" case, we have to do a linear scan. Blah.
4481         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
4482         we have to do the linear scan
4483         (tag_removed_cb): When a tag is removed from the tag table, 
4484         remove the GtkTextTagInfo node from the btree.
4485         (gtk_text_btree_spew): Implement the spew function, for 
4486         our debugging pleasure.
4487
4488 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
4489
4490         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
4491         a problem with referring to the wrong buffer.
4492
4493         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
4494
4495         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
4496         font description to gtk_style_new() - otherwise things
4497         don't work without a .gtkrc file.
4498
4499         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
4500         tags table if we create it ourself, too.
4501
4502         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
4503         it was conflicting with XKB modifiers.
4504
4505         * gtk/gtktextview.[ch]: Add simple support for 
4506         GtkIMContext.
4507
4508 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
4509
4510         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
4511         with deletion from last commit.
4512
4513 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
4514
4515         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
4516         in the context from the current locale.
4517         
4518         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
4519         context, not hardcoded value.
4520
4521         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
4522         not logical.
4523
4524 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
4525
4526         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
4527         attributes - that doesn't handle partial-glyph selection
4528         properly. Instead use new pango_layout_line_get_x_ranges()
4529         functionality to draw the selection.
4530
4531         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
4532         now properly handles out-of-range coordinates.
4533
4534         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
4535
4536         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
4537         public.
4538
4539         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
4540         for paragraphs opposite to the base direction of the widget.
4541
4542         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
4543
4544         * gtk/gtktextlayout.c: Don't split segments on marks, since that
4545         causes Arabic words to reshape as you cursor through.
4546
4547         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
4548         cursor position when moving vertically with the arrow keys and
4549         scrolling with page-up/page-down. (Arrow keys save only the X,
4550         scrolling saves both X and Y.)
4551
4552         This means you can line-up / line-down or page-up / page-down
4553         without losing your place, and also that moving vertically
4554         with the cursor keys keeps the same X position, not the same
4555         character count:
4556
4557         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
4558         arrow keys move by display lines, not paragraphs.
4559
4560 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
4561
4562         * gtk/gtklayout.c: Make sure that the bin window is at least
4563         as big as the allocation. (Should we also make sure that the
4564         bin window is big enough to completely cover widget->window?)
4565
4566         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
4567         function to get the onscreen rectangle.
4568
4569         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
4570         for offsets in window coordinates.
4571
4572 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
4573
4574         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
4575         confusion.
4576
4577         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
4578         from the widget direction.
4579
4580         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
4581         Add a "direction" attribute.
4582
4583         * gtk/gtktextview.c: global s/tkxt/text_view/.
4584
4585         * gtk/testtext.c: Added long block of text in Arabic, to test out
4586         the direction attributes. (Some problems with the shaping system
4587         for arabic become obvious - like the fact the cursor splits words
4588         into unjoined pieces.)
4589
4590 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
4591
4592         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
4593
4594         * gtk/gtktextlayout.c: Fix up alignment.
4595
4596         * gtk/testtext.c: Add some tests for centering, wrapping.
4597
4598 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
4599
4600         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
4601         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
4602         If we wrote GTK+-specific layout-render function this could just replace
4603         the draw_layout() operation in the vtable.
4604
4605         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
4606         pango_layout_get_cursor_pos() and use that function.
4607
4608         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
4609         is a non-static symbol.
4610
4611         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
4612         with gtk_text_btree_find_line_by_y()
4613
4614         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
4615         renderer that handles GtkTextAppearance attributes.
4616
4617         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
4618
4619           - Move the values in the style that don't affect geometry into a
4620             GtkTextAppearance structure.
4621           - Change underline to take a PangoUnderline and "font" a string
4622             representation of a font description
4623           - Add a "font_desc" attribute which takes a FontDescription structure.
4624
4625         * gtk/gtktextlayout.[ch]:
4626
4627           - Get rid of the display-line list per each line. Instead, we
4628             generate, on demand, a GtkTextLineDisplay structure which]
4629             contains a PangoLayout * and other necesary information
4630             (offsets, cursor locations) for displaying a paragraph.
4631           - Get rid of the code to wrap lines, create display chunks,
4632             etc. Instead, we just go through a paragraph and convert
4633             it into the necessary inputs to a PangoLayout.
4634           - Implement a new attribute type, GtkTextAttrAppearance. This
4635             holds a GtkTextAppearance, and is used to pass colors, 
4636             stipple, etc, through from the layout to the display without
4637             having to use lots and lots of individual attributes.
4638           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
4639             in terms of PangoLayout functions.
4640         
4641         * gtk/gtktextview.c: 
4642          
4643           - Handle passing the necessary PangoContext to the layout
4644           - Some fixups in painting to deal with the automatic backing store
4645             and offsetting of GTK+-1.4
4646           - Add a style_set handler so that the default style reacts
4647             properly to theme changes.
4648         
4649         * gtk/gtktext?*.[ch]: Random code-style fixes.
4650
4651         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
4652
4653 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
4654
4655         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
4656         in original form preparatory to Pango-ization and gdkimcontext-ization.
4657
4658 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
4659
4660         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
4661         so that we can derive from gtkimcontext in language bindings properly.
4662
4663 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
4664
4665         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
4666         Add a compose table including (almost) all the compose combinations
4667         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
4668         data in the XIM implementation.
4669
4670         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
4671         Moved functions to convert keyvalues from and to unicode here from
4672         the win32 port and made them public.
4673
4674 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
4675
4676         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
4677
4678 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
4679
4680         * gtk/gtkimcontext.[ch]: Base class for new input context system
4681
4682         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
4683         the real input context implementation to be loaded from modules
4684         and switched on the fly.
4685
4686         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
4687         context that just does direct keysymbol => unicode translation.
4688
4689         * gtk/gtkentry.[ch]: Start switching editing over to using
4690         GtkInputContext. (No handling of preedit yet.)
4691
4692 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
4693
4694         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
4695         many substitutions. (klass should not be subsituted.)
4696
4697 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
4698
4699         * configure.in: Add checks for Pango
4700
4701         * configure.in docs/Makefile.am: Add test for sgml2html
4702         and allow 'make dist' without building html, but print out
4703         warnings in that case. (For making snapshots)
4704
4705         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
4706         Add Pango libraries and C flags
4707
4708         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
4709         Add function (gdk_draw_layout) to draw a pango layout.
4710
4711         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
4712         for getting Pango contexts for GDK.
4713
4714         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
4715
4716         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
4717         editing.
4718
4719         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
4720         keysym => unicode translations. More languages can be added
4721         here, but real input-method support is needed.
4722
4723         * docs/Changes-1.4.txt: Added note about entry behavior.
4724         
4725         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
4726         to set the reading direction for a widget and the global direction.
4727         Add test which allows toggling the global direction. Two private
4728         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
4729
4730         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
4731           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
4732
4733         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
4734
4735         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
4736         underlining now handled by Pango.
4737
4738         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
4739         to RCStyle and Style. (Having both this and the old font name and GdkFont 
4740         is temporary.)
4741
4742         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
4743         convenience functions for creating contexts and layouts for widgets.
4744
4745         * gtk/testgtk.c: Enhance label tests with multilingual labels.
4746
4747 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
4748
4749         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
4750         titles to be active, even if they aren't visible.
4751         (gtk_clist_column_titles_passive):  Ditto.
4752
4753 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
4754
4755         * gtkmenu.c:
4756         * gtkmenu.h:
4757         * gtktypeutils.h: Spelling/grammar fixes in comments.
4758
4759 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
4760
4761         * gdk/nanox/*.h: add missing header files.
4762
4763 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
4764
4765         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
4766         send_event to TRUE.
4767         (gtk_drawing_area_size): queue a resize.
4768
4769 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
4770
4771         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
4772         the handlers, also invalidate them. bug nailed down by Karl Nelson
4773         <kenelson@ece.ucdavis.edu>.
4774
4775 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
4776
4777         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
4778         "(nil)" foundries, patch from Grigorios Magklis.
4779
4780         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
4781         on non-available fonts, based on a patch by Grigorios Magklis
4782         <maglis@cs.rochester.edu>.
4783
4784 2000-05-18  Elliot Lee  <sopwith@redhat.com>
4785
4786         * gdk/x11/gdkregion-generic.c: If a region does not have any
4787         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
4788         instead of GDK_OVERLAP_RECTANGLE_IN.
4789
4790 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
4791
4792         * gtk/gtklayout.c (gtk_layout_map): Remove references to
4793         OFFSCREEN, as it is no longer necessary.
4794
4795 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
4796
4797         * gtk/gtkcolorsel.c: Patch from David Santiago
4798         <mrcooger@cyberverse.com> to change things so that the 
4799         indicator of the active palette entry is done independently,
4800         not via the focus, since it should always be visible.
4801
4802 2000-05-17  Tor Lillqvist  <tml@iki.fi>
4803
4804         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
4805         refcount leaks as in the X11 backend.
4806
4807         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
4808         cosmetics.
4809
4810         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
4811         backend. Add _gdk_windowing_window_destroy().
4812
4813         * gtk/gtkcolorsel.c: Include correct backend-specific header.
4814         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
4815         either, but these probably do exist on nanox?)
4816         
4817         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
4818         which isn't necessarily defined by <math.h>.
4819
4820         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
4821         ancestry past GtkObject.
4822
4823         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
4824         from DLL on Win32.
4825
4826         * gtk/gtk.def: Update corresponding to recent changes.
4827
4828         * gtk/makefile.{cygwin,msc}: Updates.
4829
4830 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
4831
4832         * docs/Changes-1.4.txt: A bit of editing.
4833
4834         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
4835         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
4836         to clear the update area for the window, and clear it
4837         when hiding a window.
4838
4839         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
4840         if window destroyed.
4841
4842         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
4843
4844         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
4845         gdk_window_destroy() to the generic code, since there was a lot of 
4846         window-system-independent logic it in. Add a function:
4847         
4848          _gdk_window_destroy() 
4849
4850         to the internal API to destroy a window without unreferencing it.
4851         Add a function:
4852
4853          _gdk_windowing_window_destroy()
4854
4855         That does the windowing-system-dependent part of destroying 
4856         the window.
4857
4858 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
4859
4860         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
4861
4862 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
4863
4864         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
4865         Make gtk_widget_shape_combine_mask() keep a reference count on
4866         the pixmap since it keeps it around.
4867
4868 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
4869
4870         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
4871         leak.
4872
4873         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
4874         leak with event filters.
4875
4876 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
4877
4878         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
4879         signal handlers with the right data arguments. (Fixes
4880         some warnings when a widget was repeatedly set as a drag
4881         destination.)
4882
4883         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
4884         window so we can avoid avoid setting the DND properties on the
4885         toplevel window repeatedly.
4886
4887 2000-05-13  Tor Lillqvist  <tml@iki.fi>
4888
4889         * gdk/win32/gdkwin32.h: Define more message types missing from
4890         mingw headers.
4891
4892         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
4893         call gdk_window_destroy_notify(). It was never called. This
4894         probably meant that the GdkWindow was never freed. Thanks Owen for
4895         noticing (!).
4896
4897         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
4898         window as destroyed before calling DestroyWindow(). DestroyWindow()
4899         causes a call to the window procedure (gdk_WindowProc), which
4900         calls gdk_event_translate(), which calls
4901         gdk_window_destroy_notify(), which gets confused unless the window
4902         is set as destroyed.
4903
4904         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
4905         this function to indicate it's win32 only. Put inside #ifdef
4906         G_ENABLE_DEBUG.
4907
4908         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
4909         debugging function. (gdk_event_translate:) Add a default branch
4910         that uses the above function to print debug messages with all
4911         Windows messages symbolically.
4912
4913         * gdk/win32/gdkprivate-win32.h: Declare it, and
4914         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
4915
4916 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
4917
4918         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
4919         public header file.
4920
4921 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
4922
4923         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
4924
4925         * gtk/gtktext.c: made the adjustments no-construct args, simply
4926         provide default adjustments.
4927         (gtk_text_destroy): release adjustments.
4928
4929         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
4930         adjustment argument non-construct.
4931
4932         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
4933         instead of in finalize.
4934         (gtk_progress_get_text_from_value): 
4935         (gtk_progress_get_current_text): 
4936         (gtk_progress_set_value): 
4937         (gtk_progress_get_percentage_from_value): 
4938         (gtk_progress_get_current_percentage): 
4939         (gtk_progress_set_percentage): 
4940         (gtk_progress_configure): ensure an adjustment is present.
4941
4942 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
4943
4944         * gtk/gtkcolorsel.[hc]:
4945         * gtk/gtkcolorseldialog.[hc]:
4946         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
4947         their parent implementation, use bit fields for boolean values, don't
4948         create unused widgets, usage of glib types, braces go on their own
4949         lines, function argument alignment, #include directives etc. etc. etc..
4950
4951         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
4952
4953 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
4954
4955         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
4956
4957         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
4958         of NULL.
4959
4960         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
4961         to freed data.
4962         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
4963
4964         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
4965         to NULL when the toplevel is getting destroyed.
4966         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
4967         (gtk_menu_destroy): 
4968         (gtk_menu_init): store the information of whether we have to
4969         readd the initial child ref_count during destruction in a new
4970         GtkMenu field needs_destruction_ref_count.
4971
4972         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
4973         here, those reading: learn from my mistake! ;)
4974         in order for set_?adjustment to support a default adjustemnt if
4975         invoked with an adjustment pointer of NULL, the code read (pseudo):
4976         if (v->adjustment) unref (v->adjustment);
4977         if (!adjustment) adjustment = adjustment_new ();
4978         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
4979         now imagine the first unref to actually free the old adjustment and
4980         adjustment_new() creating a new adjustment from the very same memory
4981         portion. here, the latter comparision will unintendedly fail, and
4982         all hell breaks loose.
4983         (gtk_viewport_set_hadjustment):
4984         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
4985         after unreferencing it.
4986
4987         * gtk/gtkcontainer.[hc]: removed toplevel registration
4988         functions: gtk_container_register_toplevel(),
4989         gtk_container_unregister_toplevel() and
4990         gtk_container_get_toplevels() which had wrong semantics
4991         anyways: it didn't reference and copy the list.
4992
4993         * gtk/gtkwindow.c: we take over the container toplevel registration
4994         bussiness now. windows are registered across multiple destructions,
4995         untill they are finalized. the initial implicit reference count
4996         users are holding on windows is removed with the first destruction
4997         though.
4998         (gtk_window_init): ref & sink and set has_user_ref_count, got
4999         rid of gtk_container_register_toplevel() call. add window to
5000         toplevel_list.
5001         (gtk_window_destroy): unref the window if has_user_ref_count
5002         is still set, got rid of call to
5003         gtk_container_unregister_toplevel().
5004         (gtk_window_finalize): remove window from toplevel list.
5005         (gtk_window_list_toplevels): new function to return a newly
5006         created list with referenced toplevels.
5007         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
5008
5009         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
5010         adjustment a non-construct arg.
5011         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
5012         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
5013         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
5014
5015         * gtk/gtkrange.c: added some realized checks.
5016         (gtk_range_destroy): get rid of the h/v adjustments in the
5017         destroy handler instead of finalize. remove timer.
5018         (gtk_range_get_adjustment): demand create adjustment.
5019
5020         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
5021         we simply create them on demand now and get rid of them in
5022         the destroy handler.
5023         (gtk_viewport_destroy): get rid of the h/v adjustments in the
5024         destroy handler instead of finalize.
5025         (gtk_viewport_get_hadjustment): 
5026         (gtk_viewport_get_vadjustment): 
5027         (gtk_viewport_size_allocate): demand create h/v adjustment
5028         if required.
5029
5030         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
5031         gtk_widget_real_destroy () functionality.
5032         (gtk_widget_real_destroy): reinitialize with a new style, instead
5033         of setting widget->style to NULL.
5034
5035 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
5036
5037         * gtk/gtkcalendar.c:
5038         * gtk/gtkbutton.c: ported _get_type() implementation over to
5039         GType, either to preserve memchunks allocation facilities,
5040         or because Gtk+ 1.0 GtkTypeInfo was still being used.
5041
5042         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
5043         over. prepare for ::destroy to be emitted multiple times.
5044         removed reference tracer magic. chain into GObjectClass.shutdown()
5045         to emit ::destroy signal.
5046
5047         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
5048         fundamental.
5049
5050         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
5051         cludge.
5052
5053         * gtk/gtksocket.c:
5054         * gtk/gtkplug.c:
5055         * gtk/gtklayout.c:
5056         * gtk/gtklabel.c:
5057         * gtk/gtkargcollector.c:
5058         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
5059         not being a fundamental anymore, and to work with the new
5060         type system (nuked fundamental type varargs clutter).
5061
5062         * gtk/*.c: install finalize handlers in the GObjectClass
5063         part of the class structure.
5064         changed direct GTK_OBJECT()->klass accesses to
5065         GTK_*_GET_CLASS().
5066         changed direct object_class->type accesses to GTK_CLASS_TYPE().
5067
5068         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
5069         GType. made most of the GTK_*() type macros and Gtk* typedefs
5070         simple wrappers around macros and types provided by GType.
5071         most notably, a significant portion of the old API vanished:
5072         GTK_TYPE_MAKE(),
5073         GTK_TYPE_SEQNO(),
5074         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
5075         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
5076         GTK_TYPE_ARGS,
5077         GTK_TYPE_CALLBACK,
5078         GTK_TYPE_C_CALLBACK,
5079         GTK_TYPE_FOREIGN,
5080         GtkTypeQuery,
5081         gtk_type_query(),
5082         gtk_type_set_varargs_type(),
5083         gtk_type_get_varargs_type(),
5084         gtk_type_check_object_cast(),
5085         gtk_type_check_class_cast(),
5086         gtk_type_describe_tree(),
5087         gtk_type_describe_heritage(),
5088         gtk_type_free(),
5089         gtk_type_children_types(),
5090         gtk_type_set_chunk_alloc(),
5091         gtk_type_register_enum(),
5092         gtk_type_register_flags(),
5093         gtk_type_parent_class().
5094         replacements, where available are described in ../docs/Changes-1.4.txt.
5095         implemented compatibility functions for the remaining API.
5096
5097         * configure.in: depend on glib 1.3.1, use gobject module.
5098
5099 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
5100
5101         * TODO.xml: Various updates to current status.
5102
5103 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
5104
5105         * gtk.m4: Print out version when test succeeds.
5106
5107 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
5108
5109         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
5110         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
5111         
5112         (Original triangle color selector from Simon Budig
5113         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
5114         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
5115         Santiago <mrcooger@cyberverse.com>)
5116
5117         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
5118         out into a separate widget.
5119
5120         * gtk/testgtk.c: Add some checkbuttons for toggling palette
5121         and opacity controls.
5122
5123 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
5124
5125         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
5126         snuck in prematurely.
5127
5128 2000-05-07  Tor Lillqvist  <tml@iki.fi>
5129
5130         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
5131         had deleted a ! operator by mistake, which caused
5132         GDK_SELECTION_CLEAR events never to be generated, which caused
5133         only the first copy to the clipboard from an gtkeditable to
5134         actually cause a copy to the Windows clipboard.
5135
5136 2000-05-06  Tor Lillqvist  <tml@iki.fi>
5137
5138         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
5139         compilation, too. Current mingw gcc distributions include the
5140         necessary headers. Also the necessary IIDs are now in mingw
5141         headers/libraries, and own definitions unnecessary.
5142
5143         More hacking on OLE2 DND, still doesn't work though, and thus
5144         ifdeffed out.
5145
5146         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
5147         here, too.
5148
5149 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
5150
5151         * gdk/nanox/*: nano-X port work in progress.
5152         * gdk/simple.c: simple test for Gdk.
5153         * README.nanox: notes about the port: read this first!
5154         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
5155         with nano-X.
5156
5157 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
5158
5159         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
5160         gdk_window_clear() into common code, implement in terms of
5161         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
5162         not redirected to the backing rectangle.
5163
5164 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
5165
5166         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
5167         EXTRA_DIST. It does not work well when the file that
5168         everything depends on is not in the tarball.
5169
5170 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
5171
5172         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
5173         with recursion where process_updates() is called from
5174         an expose handler. (GtkTextView is highly broken in
5175         doing this, but it should work, so it is a nice test
5176         case.)
5177
5178 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
5179
5180         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
5181         handle the case where updates are queued during processing of
5182         updates.
5183
5184 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
5185
5186         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
5187         window is on gdk_display - use that instead of segfaulting.
5188
5189 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
5190
5191         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
5192         broken and require an empty arg, give it to them.
5193
5194 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
5195
5196         * gtk/gtklabel.h: indentation fixes.
5197
5198 2000-05-02  Tor Lillqvist  <tml@iki.fi>
5199
5200         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
5201         draw too narrow or too low arcs, they seem to fail, at least with
5202         some display drivers.
5203
5204         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
5205
5206         Large changes to the Win32 backend, partially made necessary by
5207         the changes to the backend-independent internal
5208         structures. Attempts to implement similar backing store stuff as
5209         on X11. The current (CVS) version of the Win32 backend is *not* as
5210         stable as it was before the no-flicker branch was merged. A
5211         zipfile with that version is available from
5212         http://www.gimp.org/win32/. That should be use by "production"
5213         code until this CVS version is usable. (But note, the Win32
5214         backend has never been claimed to be "production quality".)
5215
5216         * README.win32: Add the above comment about versions.
5217
5218         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
5219
5220         * gdk/gdk.def: Update.
5221
5222         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
5223         presumably be replaced by some more better mechanism as 1.4 gets
5224         closer to release shape.
5225
5226         * gdk/makefile.{cygwin,msc}: Update.
5227
5228         * gdk/win32/*.c: Correct inclusions of the backend-specific and
5229         internal headers. Change code according to changes in these. Use
5230         gdk_drawable_*, not gdk_window_* where necessary.
5231
5232         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
5233         our old DND.
5234
5235         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
5236         to interpret single characters as UTF-8. Thanks to Hans Breuer.
5237         Use correct function name in warning messages.
5238
5239         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
5240         GSourceFuncs gdk_event_prepare and gdk_event_check.
5241         (gdk_event_get_graphics_expose): Do implement, use
5242         PeekMessage. Thanks to Hans Breuer.
5243         (event_mask_string): Debugging function to print an GdkEventMask.
5244         (gdk_pointer_grab): Use it.
5245
5246         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
5247         (old) book I used claimed was Hangul actually is CJK Unified
5248         Ideographs Extension A. Also, Hangul Syllables were missing.
5249         Improve logging.
5250
5251         * gdk/win32/gdkgc-win32.c: Largish changes.
5252
5253         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
5254         g_win32_getlocale() from GLib, and not setlocale() to get current
5255         locale name.
5256
5257         * gdk/win32/gdkprivate-win32.h
5258         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
5259         gdkwin32.h, similarily as in the X11 backend.
5260
5261         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
5262         assignment was used instead of equals in if test. Thanks to Hans
5263         Breuer.
5264
5265         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
5266         the X11 version.
5267
5268         * gdk/win32/makefile.{cygwin,msc}
5269         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
5270         path to the Win32 headers that works also with the mingw compiler.
5271
5272         * gtk/gtkstyle.c: Include <string.h>.
5273
5274 2000-04-26  Havoc Pennington  <hp@redhat.com>
5275
5276         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
5277         replacing the broken gtk_label_get ()
5278
5279 2000-04-15  Havoc Pennington  <hp@pobox.com>
5280
5281         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
5282         this keeps scanner scripts from getting confused.
5283
5284         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
5285         data, rather than void
5286
5287 2000-04-15  Tor Lillqvist  <tml@iki.fi>
5288
5289         * gtk/gtkclist.c (gtk_clist_motion)
5290         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
5291         with is_hint FALSE, get x and y from the event. They used to be
5292         used uninitialised. The Win32 backend never sends motion events
5293         marked as hints. This for instance fixes the annoying file and
5294         font selector behaviour in the Win32 version.
5295
5296 2000-04-14  Tor Lillqvist  <tml@iki.fi>
5297
5298         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
5299         gtk_private_n_signals variables, they are used by some software,
5300         sigh.
5301
5302         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
5303         installation directory from the Registry, where the installer
5304         should have put it.
5305
5306 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
5307
5308         * gdk/x11/Makefile.am: Fix problem with installation directory for
5309         gdkx.h
5310
5311         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
5312         <mrcooger@cyberverse.com> so that when selecting menus with the
5313         mouse, the first item will not be selected, but when selecting
5314         with an accelerator, or navigating left-right on a menubar with
5315         the menus popped up, the first item will be selected.
5316
5317 2000-04-05  Dan Damian  <dand@dnttm.ro>
5318
5319         * configure.in: Added "ro" to ALL_LINGUAS.
5320
5321 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
5322
5323         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
5324         indentation.
5325
5326         * Makefile.am (EXTRA_DIST): Fix typo.
5327
5328         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
5329         to catch gdkconfig.h
5330
5331         * gtk/gtkitemfactory.c: Added FIXME.
5332
5333 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
5334
5335         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
5336         s/return_if_fail/return_val_if_fail/g and add a return value.
5337
5338 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
5339
5340         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
5341         merge slipup.
5342
5343         * gdk/gdkinput.h: Fix missing line from merge.
5344
5345 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
5346
5347         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
5348         instead of gdkprivate.h.
5349
5350 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
5351
5352         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
5353         parent class to correctly be GtkDialogClass.
5354
5355 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
5356
5357         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
5358         toplevel windows and their immediate children by their parents,
5359         since the size of toplevel windows is out of our immediate
5360         control and we don't get any real benefit from trying to track
5361         this size for clipping.
5362
5363         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
5364         for input_only windows.
5365
5366         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
5367         to fix some hacks and make sure that we don't try to set the
5368         background of input only windows.
5369
5370 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
5371
5372         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
5373         the _really_ internal stuff, and leave gdkprivate.h for the fake private
5374         stuff that we've traditionally exposed.
5375
5376         * gdk/**.c: Use gdkinternals.h where appropriate.
5377
5378         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
5379         not include gdkprivate-x11.h, move all stuff of conceivable public
5380         interest into gdkx.h; keep all really private stuff in
5381         uninstalled header gdkprivate-x11.h.
5382
5383         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
5384         image->image_put on windows through a new function _gdk_window_draw_image()
5385         to allow us to do backing store for images. (Sort of ugly)
5386
5387         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
5388         contexts locally so that we can offset them properly when drawing 
5389         onto backing pixmaps.
5390
5391         * gdk/gdkinput.h: Reindented
5392
5393         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
5394         pixmap or color for the window, so we can properly initialize
5395         our double-buffer pixmaps, and also so that we temporarily set
5396         a background of None while scrolling.
5397
5398         * gdk/gdkregion.h: Revise region boolean operators to have an
5399         interface that is actually convenient - switch from creating new
5400         regions on every op, to "methods" that modify existing regions
5401         (A = A OP B). 3 argument forms which allow dest == src, would also
5402         be possible, but the current interfaces seem to map nicely
5403         onto what needs to be done. (There is quite a lot of region
5404         code in GDK now.)
5405
5406         * gdk/gdkregion.h: Add constructor from rectangle and a copy
5407         operator.
5408
5409         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
5410         gdkpoly-generic.h: Copy region code from Xlib, switch it over
5411         to 32 bit coordinates, modify it to be mostly GTK+ style
5412         and to have interfaces that match gdkregion.h.
5413
5414         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
5415         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
5416         create a backing pixmap and redirect all drawing to
5417         that backing pixmap until a matching gdk_window_end_paint().
5418
5419         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
5420         Create a special drawable class for GtkWindow's that 
5421         redirects the drawing to the backing pixmap as necessary
5422         and then calls the real operations in _gdk_windowing_window_class.
5423
5424         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
5425         Store invalid region for each window. Generate expose events for invalid
5426         region in an idle. This replaces both the expose compression
5427         and the redrawing queuing in GTK+. It is both more efficient and
5428         simpler than either one individually and far more so then the
5429         combination.
5430
5431         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
5432         Emulate 32 bit coordinates for windows with 16 bit coordinates
5433         by offsetting drawing, guffaw scrolling techniques and
5434         mapping/unmapping child windows as necessary.
5435
5436         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
5437         where, when invalid regions are processed, the region is stored,
5438         and if expose events come in that are detectably duplicate
5439         the processed exposes (by comparison of event serial numbers),
5440         the stored region is subtracted out of those exposes.
5441
5442         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
5443         regions newly exposed when scrolling or resizing windows.
5444         This, combined with forcing processesing of queued invalidated
5445         regions, gives nice flicker-free scrolling.
5446
5447         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
5448         invalidated regions after every scroll.
5449
5450         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
5451         emulation in GDK. Its, for all practical purposes just a
5452         GtkViewport/GtkFixed hybrid now.
5453
5454         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
5455         (16-bit) structures as necessary instead of just casting.
5456
5457         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
5458         in terms of the structures from gdkregion-generic.c, using appropriate
5459         offsets from GDK to X11 coordinates. Cache clip mask and
5460         origin and ts origin locally and only flush to the server
5461         when drawing, to avoid constantly setting and resetting these
5462         values when offsetting GC's for scrolling and backing pixmaps.
5463
5464         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
5465
5466         * gtk/gtkcontainer.c: Call process_all_updates at end
5467         of resizing to reduce flicker. (Avoids having redraw
5468         lag arbitrarily behind resize under some circumstances)
5469
5470         * gtk/gtkentry.c: Remove old backing store code, and simply take
5471         advantage of the new backing store capabilities of GDK.
5472
5473         * gtk/gtkmain.c: Simple implementation of widget backing
5474         store - simply push a paint while handling each expose.
5475         (Should really be configurable widget for widget.)
5476         
5477         * gtk/gtkwidget.c: Remove all the old complicated redraw
5478         code, and simply invalidate the GDK windows from
5479         gdk_window_queue_clear(), etc. (Sigh, so much carefully
5480         debugged complexity ... gone to the winds.)
5481
5482         Remove all the code for suppressing expose events while
5483         resizes are pending; this isn't needed since the invalid
5484         areas won't be processed until after the resizes are
5485         processed, since they are in a lower priority idle.
5486
5487 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
5488
5489         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
5490         and height of dest rectangle for non-intersecting rectangles.
5491
5492 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
5493
5494         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
5495         for GdkRectangle.
5496
5497 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
5498
5499         * gdk/gdk{events,image,private,types,window}.h
5500          gdk/x11/gdkinputprivate.h: Change all coordinates
5501          from int16 to int. Also, Change width and height from
5502          unsigned to signed to avoid all the stupid C 
5503          signedness bugs.
5504
5505 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
5506
5507         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
5508         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
5509         Add some more detailed checking.
5510
5511         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
5512         New function to retrieve the depth of a drawable.
5513
5514         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
5515         field, reorder fields to save memory. 
5516
5517 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
5518
5519         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
5520         of the background image instead of scaling the background down to
5521         a line.
5522
5523         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
5524         which temporarily set slider to wrong size.
5525
5526         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
5527         queue_clear().
5528
5529 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
5530
5531 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
5532
5533         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
5534
5535 2000-03-17  Tor Lillqvist  <tml@iki.fi>
5536
5537         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
5538         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
5539
5540         * gdk/win32/gdkfont-win32.c
5541         * gdk/win32/gdkproperty-win32.c
5542         * gdk/win32/gdkselection-win32.c
5543         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
5544         now declared such.
5545
5546 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
5547
5548         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
5549
5550 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
5551
5552         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
5553         is called without trapping X errors.
5554
5555 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
5556
5557         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
5558         way into the fontset lists.
5559
5560 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
5561
5562         * gtk/gtkthemes.h: add extern "C" scope.
5563
5564 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
5565
5566         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
5567         to make appends to the list constant. (gtk-guy-990901-0.patch)
5568
5569 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
5570
5571         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
5572         for the typename hash table.
5573
5574 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
5575
5576         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
5577         to make sure we never divide by zero. 
5578         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
5579
5580 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
5581
5582         * gtk/gtkfontsel.c: Apply patch from
5583         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
5584         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
5585
5586         Also, some cleanups in atom handling.
5587
5588 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
5589
5590         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
5591         not GtkWidget.
5592
5593 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
5594
5595         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
5596         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
5597         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
5598         more guint wrap-around bugs before going to bed.
5599
5600 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
5601
5602         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
5603         guint wrap arounds in allocation.width.
5604
5605         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
5606         process untill we fit the allocation given.
5607
5608 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
5609
5610         * gtk/gtkwidget.c:
5611         (gtk_widget_unrealize): guard widget access with ref/unref
5612         around signal emission.
5613         (gtk_widget_hide): same here, but also check its destroyed
5614         state before queueing a resize.
5615
5616 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
5617
5618         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
5619         of gtk_default_insensitive_bg as insensitive base color.
5620
5621         * gtk/gtktext.c (gtk_text_style_set): set the background color according
5622         to the widget's state.
5623         (gtk_text_realize): same here.
5624         (gtk_text_state_changed): same here.
5625         (draw_bg_rect): compare background color against base[] from
5626         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
5627
5628 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
5629
5630         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
5631         grabs are active, unless a delete event is send to the toplevel
5632         of the currently grab holding widget.
5633
5634 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
5635
5636         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
5637         debugging g_print's.
5638
5639 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
5640
5641         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
5642         ever make the scrolled-window requisition ever depend on the 
5643         visibility state of the scrollbars for the AUTOMATIC policy. 
5644         This breaks the GTK+ requisition model, and causes loops.
5645
5646 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
5647
5648         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
5649         the default font to avoid problems with XFree86-4.0 where the
5650         default charset is iso10646-1, not iso8859-1.
5651
5652 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
5653
5654         * acinclude.m4
5655         * config.guess
5656         * config.sub
5657         * ltconfig
5658         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
5659
5660         * gtk/Makefile.am: minor cosmetic consistency tweak
5661
5662 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
5663
5664         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
5665         the activate_time to 0, so that we handle a quick
5666         press/release press/release properly and don't suppress
5667         the second release. (Red Hat bug #7545)
5668
5669 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
5670
5671         * gtk/gtkctree.c (row_delete):
5672         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
5673         bugs with destruction notifier, *always* update internal
5674         structures *before* calling user code.
5675
5676 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
5677
5678         A few more fixes for bug #5487, #2051, #2677.
5679         * gtk/gtkclist.c : 
5680         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
5681         not GDK_BUTTON_PRESS.
5682         (resync_selection): resync only if selection_mode is
5683         GTK_SELECTION_EXTENDED
5684         * gtk/gtkctree.c (resync_selection): same here
5685
5686 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
5687
5688         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
5689         gdk_drag_get_selection() and gtk_menu_detach().
5690
5691         [ From Jeroen Ruigrok/Asmodai ]
5692
5693 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
5694
5695         * gtk/gtknotebook.c (gtk_notebook_size_request): 
5696         page->tab_label can be NULL.
5697
5698 2000-01-25  Havoc Pennington  <hp@pobox.com>
5699         
5700         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
5701         arg is boolean
5702
5703         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
5704
5705         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
5706
5707         * gdk/gdkproperty.c (gdk_property_get): return boolean
5708
5709         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
5710
5711         * gdk/gdkim.c (gdk_im_ready): return boolean
5712
5713         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
5714
5715         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
5716         glib clash, should fix glib)
5717
5718         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
5719         (gdk_get_show_events): return gboolean, and canonicalize 
5720         to TRUE/FALSE
5721
5722         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
5723         colormap is private
5724         (gdk_colors_alloc): gboolean whether to be contiguous
5725         (gdk_color_equal): return gboolean since we are a predicate
5726         and not a qsort() (this looks semi-wrong due to glib breakage,
5727         IMO glib should be fixed)
5728         
5729         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
5730         (gdk_get_use_xshm): return gboolean
5731         (gdk_pointer_is_grabbed): return gboolean
5732
5733         * gdk/gdk.h: Change prototypes to match all the above changes,
5734         and re-run egtk-format-protos as required.
5735
5736 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
5737
5738         * gtk/gtkctree.c (resync_selection): 
5739         * gtk/gtkclist.c (resync_selection):
5740
5741         Return immediately if clist->drag_pos < 0. This is a workaround
5742         for the corrupt state that the clist gets into when a
5743         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
5744
5745         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
5746         
5747         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
5748         variable from recent commit.
5749
5750 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
5751
5752         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
5753
5754 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
5755
5756         * gtk/Makefile.am: prefix all autogenerated source that get build in
5757         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
5758         in builddir. since we subsequently cd into srcdir for autogeneration,
5759         the paths have to be stripped from the target file names, thusly we
5760         use $(@F) as target names now.
5761         put a comment about configure.in's --disable-rebuilds option,
5762         which can be used for non-writable source directories, for development
5763         setups though, srcdir has to be *writable*.
5764
5765 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
5766
5767         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
5768           Finish the job of allowing event to be NULL.
5769           (Fixes bug #4283, reported by Chris Blizzard)
5770
5771         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
5772           things so that the cursor appears on screen, properly
5773           take into account INNER_BORDER.
5774           (Fixes bug #4754, reported by Antonio Campos)
5775
5776 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
5777
5778         * gtk/gtknotebook.c (gtk_notebook_map): Don't
5779           show the tab_label unless it itself is visible.
5780
5781           gtk/gtknotebook.c (gtk_notebook_size_request):
5782           Do a better job of making sure that the visibility
5783           of the tab label corresponds to whether it should
5784           be mapped or not.
5785
5786 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
5787
5788         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
5789           Use the requisition, not the allocation, since the
5790           allocation has not necessarily been computed yet.
5791           (Pointed out by Eugene Osintsev)
5792
5793 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
5794
5795         * gtk/gtkstyle.c (gtk_style_new): Dont' set
5796           style/base[GTK_STATE_INSENSITIVE] both to
5797           gtk_default_insensitive_bg!
5798           (Bug #2187, reported by Jonathan Blandford)
5799
5800         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
5801           Add Alt_L, Alt_R to list of invalid accelerators.
5802           (Bug #3736, reported by Vlad Harchev)
5803
5804 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
5805
5806         * gtk/gtkfilesel.c (open_ref_dir): Fix several
5807         bugs which occured after an attempt to open 
5808         invalid home directory left cmpl_state->reference_dir == NULL.
5809
5810          - completion on files in home directory didn't work
5811          - completion on an empty string caused  segfault
5812
5813          (Bug #3768, reported by Steve Ratcliffe)
5814
5815         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
5816         cut and paste error that was causing scales to
5817         be incorrectly positioned.
5818         (Bug #2956,
5819          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
5820
5821 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
5822
5823         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
5824         when checking for dcgettext, if we've found we needed
5825         it for dgettext.
5826 +
5827 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
5828
5829         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
5830         queue_clear on NO_WINDOW widgets during a reparent,
5831         since at that point the window and widget heirarchies
5832         are out of sync. This stops crashing in some cases
5833         (the scrolled window reparent test, for instance), and
5834         _probably_ won't cause drawing errors.
5835
5836         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
5837         test do what it was supposed to do and be robust against
5838         window closings, etc. (Bug #2443)
5839
5840 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
5841
5842         * gtk/gtkentry.c: Fix return values on mouse events.
5843         (Bug #2686, Sky <seb_sky@yahoo.com>)
5844
5845         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
5846         (pointed out by George Lebl)
5847
5848         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
5849         (From Ettore Perazzoli  <ettore@helixcode.com>)
5850  
5851 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
5852
5853         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
5854         clicks between rows or outside calender area correctly.
5855         (Patch from Damon Chaplin)
5856
5857         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
5858         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
5859           Call destroy function when overwriting existing data. 
5860           (Pointed out by Damon Chaplin)
5861
5862 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
5863
5864         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
5865           which was causing problems on various systems with Xmu.
5866           This hasn't been needed for a very long time.
5867           (Fixes #1185 3167)
5868
5869 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
5870
5871         * gdk/gdki18n.h: Include <ctype.h> when defining
5872           gdk_isw* in terms of is* as a fallback.
5873           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
5874
5875 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
5876
5877         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
5878           realize the widget when it is size allocated!
5879           (old, old bug)
5880
5881         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
5882           Removed unused call to gdk_window_get_size() that
5883           showed up when the above was fixed.
5884
5885 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
5886
5887         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
5888           fix up widget->window when the widget is a
5889           NO_WINDOW container widget.
5890
5891 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
5892
5893         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
5894           to account for the fact that feof() does _not_ 
5895           return TRUE on errors, and thus avoid infinite loops
5896           when trying to use gdk_pixmap_create_from_xpm()
5897           on unreadable values.
5898
5899 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
5900
5901         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
5902
5903 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
5904
5905         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
5906           gdk_gc_set_dashes to take gint8 instead of gchar to
5907           make it clearer that it is _not_ a NULL terminated string.
5908
5909         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
5910           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
5911           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
5912           arguments.
5913
5914 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
5915
5916         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
5917         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
5918         background size relative to our allocation, guard against small
5919         allocations, we may have not yet been size allocated.
5920
5921 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
5922
5923         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
5924         not just version == 3. We implement all 3 + most of 4 - 
5925         (we don't support matching text/plain;charset=iso-8859-1
5926         to a dest that expects text/plain). We'll still advertise
5927         3 to be safe, but any client implementing version >= 3
5928         must interoperate with 3.
5929         
5930 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
5931
5932         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
5933         background and gc members, add a warning in gtk_tooltips_set_color()
5934         indicating that this function is deprecated.
5935
5936 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
5937
5938         * docs/gtkfaq.sgml: FAQ Update:
5939           - Minor cleanups (Emmanuel, me)
5940           - New questions:
5941                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
5942                 How can I retrieve the text from a GtkMenuItem? (timj)
5943                 How do I validate/limit/filter the input to a GtkEntry? (me)
5944                 Memory does not seem to be released when I free the list
5945                         nodes I've allocated (timj)
5946
5947 2000-03-07  Tor Lillqvist  <tml@iki.fi>
5948
5949         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
5950         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
5951         for which it is no use to call GetLastError onWin9x.
5952         (gdk_other_api_failed) New function, for general error
5953         reporting without calling GetLastError.
5954         (gdk_win32_api_failed) OTOH, this function always calls
5955         GetLastError. (gdk_win32_last_error_string) Remove this function,
5956         GLib has the equivalent now.
5957
5958         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
5959         call them with function name, file name and line number in the
5960         arguments.
5961
5962         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
5963         functions.
5964         
5965         * gtk/gtk.def: Add some missing entry points.
5966
5967         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
5968         gtk_paned_set_gutter_size, which don't exist any longer, as void.
5969         
5970         Fixes by Hans Breuer:
5971
5972         * gdk/makefile.msc: Update for debugging.
5973
5974         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
5975         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
5976         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
5977         in the dash_list.
5978
5979         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
5980         the x11 backend.
5981
5982         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
5983
5984         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
5985
5986 2000-03-04  Tor Lillqvist  <tml@iki.fi>
5987
5988         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
5989         just pixel value of background colour.
5990
5991         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
5992         containing code snippet previously duplicated in a couple of
5993         places.
5994         
5995         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
5996         gdk_colormap_color.
5997
5998         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
5999         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
6000         events for autorepeated Shift, Control and Alt keys. Use
6001         gdk_colormap_color.
6002
6003         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
6004         pointer is inside the window the cursor of which we are setting,
6005         call SetCursor immediately.
6006
6007         * gdk/win32/makefile.cygwin
6008         * gtk/makefile.cygwin: If we don't have the build number stamp
6009         file, use zero.
6010
6011         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
6012         gtk_paned_set_gutter_size as empty.
6013
6014         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
6015         
6016 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
6017
6018         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
6019           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
6020           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
6021           docs/gtk_tut.sgml docs/gtk.texi TODO:
6022
6023           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
6024
6025 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
6026
6027         * gtk/gtkcalendar.c: Implement num_marked_dates,
6028           and don't emit mutiple day_selected signals on
6029           month_prev.
6030
6031 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
6032
6033         * docs/make-todo (lineno): let title and logo be configurable so
6034         that GNOME can use this script too.
6035
6036         * TODO.xml: added logourl and a title
6037
6038 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
6039
6040         * TODO.xml: Added some UI items, and an explanatory
6041         comment at the top of the file.
6042
6043 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
6044
6045         * TODO.xml: some updates, added abunch of new entries.
6046         a note for those fiddeling with this file, when done
6047         with it, invoke:
6048         $ ./docs/make-todo TODO.xml >/dev/null
6049         and correct output errors before comitting changes.
6050
6051 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
6052
6053         * TODO.xml: Added XML-structured TODO file.
6054         * docs/make-todo: python script to turn TODO.xml into
6055           pretty XML output. 
6056
6057 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
6058
6059         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
6060         the function to let it draw the seven dots, instead of the old,
6061         much maligned, method.
6062         (draw_dot): New function to draw a dot.
6063
6064         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
6065         to draw the handle inside the border width as opposed to outside.
6066         Use paint function instead of gdk_draw_point.
6067
6068         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
6069         to draw the handle inside the border width as opposed to outside.
6070         Use paint function instead of gdk_draw_point.
6071
6072         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
6073         Change indenting to be more GTK like.
6074
6075 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
6076
6077         * docs/gtk_tut.sgml: New section on GtkCalendar
6078         * examples/calendar: Update example code
6079
6080 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
6081
6082         * docs/gtkfaq.sgml: FAQ Update
6083
6084 2000-02-19  Anders Carlsson  <andersca@gnu.org>
6085
6086         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
6087         to prevent the scroll event to be propagated upwards.
6088
6089 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
6090
6091         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
6092         OwnerGrabButtonMask from button entries for
6093         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
6094
6095         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
6096         to the event mask (which will result in button/press release
6097         being added to the event mask on Unix) so scrolling works
6098         for layouts in scroll windows.
6099
6100         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
6101
6102         Patch from Anders Carlsson  <andersca@gnu.org> to add
6103         a scroll event.
6104
6105         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
6106         scrolling to the "Test Scrolling" part of testgtk.
6107  
6108         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
6109  
6110         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
6111         it against GDK_SCROLL.
6112  
6113         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
6114         way of mouse wheel scrolling.
6115  
6116         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
6117  
6118         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
6119  
6120         * gtk/gtkmain.c: Removed previous mouse wheel hack.
6121  
6122         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
6123         gdk_event_mask_table.
6124  
6125         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
6126         GdkEventScroll handler.
6127  
6128         * gdk/gdkevents.h: Added GdkEventScroll structure.
6129  
6130 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
6131
6132         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
6133         and Anders Carlsson to change the Paned widgets so that they
6134         can be dragged from anywhere along the length. Also change
6135         the way that this is drawn to make this apparent.
6136
6137         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
6138         from George Lebl to check that option_menu->menu is present
6139         before getting history.
6140
6141 2000-02-14  Tor Lillqvist  <tml@iki.fi>
6142
6143         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
6144         before the assertion for non-NULL segment list.
6145
6146         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
6147         Seems that pattern brushes *must* be 8x8 pixels! At least on my
6148         machine, but it might be display driver dependent. Sigh, so make
6149         sure the stipple is that size. Does Windows suck or what?
6150
6151         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
6152         places.
6153
6154 2000-02-13  Havoc Pennington  <hp@pobox.com>
6155
6156         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
6157         refcount to 1
6158         (gdk_cursor_new): init refcount to 1
6159
6160         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
6161
6162 2000-02-13  Tor Lillqvist  <tml@iki.fi>
6163
6164         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
6165         so that we don't have to do unnecessary settings to the HDC.
6166
6167         * gdk/win32/gdkdrawable-win32.c
6168         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
6169         gdk_gc_predraw.
6170
6171         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
6172         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
6173         GDI paths, call WidenPath to get the outline of the stroken path,
6174         and then fill the outline (with the brush that was built from the
6175         stipple).
6176
6177         * gdk/win32/gdkgc-win32.c: Factor out common code from
6178         _gdk_win32_gc_new and gdk_win32_gc_set_values into
6179         gdk_win32_gc_values_to_win32values. Use correct colour for
6180         SetBkColor() (Until now the code actually used a random colour in
6181         the call to SetBkColor()... but that didn't show up as not many
6182         GDI APIs use the background colour. Pattern (opaque stippled)
6183         brushes do.)
6184
6185         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
6186         gdk_win32_api_failed): New functions for error logging.
6187
6188         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
6189         WIN32_API_FAILED to call them, passing function or file name and
6190         line number.
6191
6192         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
6193
6194         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
6195         GdkColor for foreground and background in GdkGCWin32Data.
6196
6197         * gdk/makefile.cygwin: Link in the resource object separately.
6198
6199         * gdk/win32/rc/gdk.rc
6200         * gtk/gtk.rc (New file)
6201         * gdk/win32/makefile.cygwin
6202         * gtk/makefile.cygwin: Update build number in DLLs automatically,
6203         as in GLib.
6204
6205 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
6206
6207         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
6208         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
6209         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
6210         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
6211         parameters given and cursor->ref_count. coding style fixups.
6212
6213         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
6214         not GtkWidget.
6215         
6216         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
6217         fix up widget macros and add _GET_CLASS() variant.
6218         
6219         * gtk/*.c: some GtkType fixups.
6220
6221 2000-02-09  Tor Lillqvist  <tml@iki.fi>
6222
6223         * gdk/win32/gdkproperty-win32.c
6224         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
6225         were reversed.
6226
6227 2000-02-04  Tor Lillqvist  <tml@iki.fi>
6228
6229         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
6230         g_filename_to_utf8 to convert the font names Windows gives us from
6231         whatever is the default codepage to UTF-8.
6232         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
6233         in the other direction.
6234
6235         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
6236         error in debugging output.
6237
6238 2000-02-02  Tor Lillqvist  <tml@iki.fi>
6239
6240         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
6241         and height parameters to gdk_window_clear_area(). Not minus one.
6242
6243 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
6244
6245         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
6246         checks if the widget passed to gtk_drag_get_data() was not the
6247         dest widget.
6248
6249 2000-02-01  Tor Lillqvist  <tml@iki.fi>
6250
6251         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
6252         g_filename_from_utf8 functions (which were added a moment ago to
6253         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
6254         size buffers.
6255
6256         gtk_file_selection_get_filename returns the filename in the C
6257         runtime encoding. It calls g_filename_from_utf8, but copies the
6258         returned string to a static buffer, which is returned. I think
6259         this is better than returning the result from g_filename_from_utf8
6260         directly, which would mean all apps that use it would have to free
6261         the return value. Or should this function care about this issue at
6262         all? Maybe a new function with clearly defined semantics.
6263
6264         * gtk/gtkfilesel.h: Add comment about
6265         gtk_file_selection_get_filename returning the filename in the C
6266         runtime's encoding.
6267
6268         * README.win32
6269         * gdk/gdk.def
6270         * gdk/makefile.{cygwin,msc}
6271         * gtk/gtk.def: Updates.
6272
6273         * gdk/gdkcursor-win32.c: Initialise refcount.
6274
6275 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
6276
6277         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
6278
6279 2000-01-30  Havoc Pennington  <hp@pobox.com>
6280
6281         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
6282         destroy
6283
6284         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
6285
6286         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
6287         implemented in platform-specific code
6288
6289         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
6290
6291         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
6292         underscore in front
6293
6294         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
6295         put an underscore in front
6296
6297         * gdk/gdkcursor.c: new file, implements
6298         gdk_cursor_ref/gdk_cursor_unref
6299
6300         * gdk/gdkcursor.h: Refcount GdkCursor
6301
6302         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
6303
6304 2000-01-29  Tor Lillqvist  <tml@iki.fi>
6305
6306         * gdk/gdkwindow.h
6307         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
6308
6309 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
6310
6311         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
6312         structures to properly inherit from GtkWidget not GtkBin.
6313
6314 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
6315
6316         * gtk+.spec.in: Added lib/gtk+/include/* to %files
6317         (bug #5178 - Peter Wainright)
6318         
6319         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
6320         so that it will be installed.
6321         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
6322
6323 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
6324
6325         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
6326         for the GtkStyleClass vtable const.
6327
6328         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
6329         take a const string argument like GtkTranslateFunc. This will
6330         require changes in use code.
6331
6332 2000-01-19  Tor Lillqvist  <tml@iki.fi>
6333
6334         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
6335         semantics (to mimic the X11 backend, which just calls XClearArea)
6336         is to check for zero width (and height), and in that case use the
6337         window's width minus x (height minus y). This fixes for instance
6338         some redraw problems with gtkclist, which were easily noticeable
6339         in the gtk file selection widget.
6340
6341         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
6342         windows.
6343
6344 2000-01-13  Tor Lillqvist  <tml@iki.fi>
6345
6346         * configure.in
6347         * gdk/Makefile.am
6348         * gdk/x11/Makefile.am
6349         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
6350         (bug #5177).
6351         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
6352         out later.
6353
6354 2000-01-09  Tor Lillqvist  <tml@iki.fi>
6355
6356         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
6357         WM_MOVE for iconified or invisible windows. This fixes various
6358         problems when minimising windows. Thanks to Bernd Herd.
6359
6360 2000-01-05  Tor Lillqvist  <tml@iki.fi>
6361
6362         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
6363         backend's draw_lines method, not draw_points.
6364
6365 2000-01-02  Tor Lillqvist  <tml@iki.fi>
6366
6367         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
6368         before Owen's reorganisation: Don't have queued_events and
6369         queued_tail statics in this file, but use gdk_queued_events and
6370         gdk_queued_tail. This makes exposure event compression work again.
6371
6372         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
6373         seem to be needed?
6374
6375 1999-12-30  Tor Lillqvist  <tml@iki.fi>
6376
6377         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
6378         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
6379         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
6380         doesn't do anything.
6381
6382         * gdk/gdk.def: Add gdk_xid_table_insert.
6383
6384         * gdk/win32/gdkprivate-win32.h
6385         * gdk/win32/gdkevents-win32.c
6386         * gdk/win32/gdkinput-win32.c
6387         
6388         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
6389         extension_events field in the GdkWindowWin32Data struct. Use only
6390         the extension_events field in GdkWindowPrivate. Previously one was
6391         set, and the other one tested, which broke tablet
6392         functionality. Thanks to Keishi Suenaga for pointing this out.
6393
6394 1999-12-18  Tor Lillqvist  <tml@iki.fi>
6395
6396         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
6397         When handling a single character (text length == 1), don't handle
6398         it as if it was UTF-8.
6399
6400 1999-12-11  Tor Lillqvist  <tml@iki.fi>
6401
6402         * Makefile.am: Distribute README.win32.
6403         
6404         * gdk/Makefile.am
6405         * gdk/win32/Makefile.am: Distribute Win32 files.
6406
6407         * gdk/makefile.msc: New file.
6408
6409         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
6410         after label).
6411
6412         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
6413         gdk_error_code as GDKVAR, as they are referred outside GDK.
6414
6415         * gdk/win32/makefile.msc: Update.
6416
6417         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
6418         tweaks. Check only if at least one of those Unicode subrange bits
6419         we care for is set. If no code page bits are set, guess (wildly)
6420         based on the charset.
6421
6422         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
6423
6424         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
6425         non-NULL.
6426
6427         * gtk/gtkdnd.c
6428         * gtk/gtklayout.c
6429         * gtk/gtkplug.c
6430         * gtk/gtkselection.c
6431         * gtk/gtksocket.c
6432         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
6433         appropriate. There must be a cleaner way to handle this?
6434
6435         * gtk/gtkrc.c: Must include windows.h on Win32.
6436
6437         * gtk/testgtk.c: No need to include gdkx.h.
6438
6439         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
6440
6441 1999-12-07  Tor Lillqvist  <tml@iki.fi>
6442
6443         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
6444         the rbearing is set to the same as the width, but this should be
6445         fixed.
6446
6447 1999-12-06  Tor Lillqvist  <tml@iki.fi>
6448
6449         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
6450         function. If Windows doesn't tell us what Unicode subranges a font
6451         covers, guesstimate based on the codepages it covers. This will
6452         hopefully help those Windows versions or fonts that don't give us
6453         any useful Unicode subrange information with GetTextCharsetInfo.
6454         Call this function in gdk_font_load_internal.
6455
6456         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
6457         minor changes.
6458
6459 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
6460
6461         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
6462         New function, long needed.
6463
6464 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
6465
6466         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
6467         only_if_exists argument of gdk_atom_intern to
6468         bool.
6469
6470 1999-11-25  Tor Lillqvist  <tml@iki.fi>
6471
6472         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
6473         Fix two copy&paste errors.
6474
6475         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
6476         win32 has changed.
6477
6478         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
6479         GdkWin32SingleFont struct.
6480
6481         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
6482         subranges of loaded fonts. Clear font signature first, in case
6483         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
6484         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
6485
6486         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
6487         Unoffset clip region.
6488
6489 1999-11-23  Tor Lillqvist  <tml@iki.fi>
6490
6491         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
6492         event->any.window before calling filter functions.
6493
6494 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
6495
6496         * gtk/gtkgamma.h: Adapt cast macros to standard.
6497
6498 [ Merges from 1.2 ]
6499
6500 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
6501
6502         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
6503         If translation does not include a '/', use entire
6504         translation instead of crashing.
6505
6506 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
6507
6508         * docs/gtk_tut.sgml:
6509         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
6510
6511 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
6512
6513         * gtk/gtkselection.c (gtk_target_list_remove): Use
6514         g_list_remove_link, not g_list_remove.
6515
6516         [ From Geert Bevin <gbevin@thunderstorms.org> ]
6517         
6518 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
6519
6520         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
6521         statement upon unselection (how the heck did that slip in?).
6522
6523 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
6524
6525         * gtk/gtktext.c (gtk_text_freeze): 
6526         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
6527         in frozen state (and aparently crashes). patch provided by Anders
6528         Melchiorsen <and@kampsax.dtu.dk>.
6529
6530 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
6531
6532         * fix insensitive default/focus widget activation,
6533         reported by Matt Goodall <mgg@isotek.co.uk>.
6534
6535         * gtk/gtkwindow.c (gtk_window_key_press_event): 
6536         (gtk_window_activate_default):
6537         (gtk_window_activate_focus):
6538         return handled=FALSE for actiavtion of insensitive default
6539         widgets. return handled=TRUE for activation of insensitive
6540         focus widgets. don't activate in either case.
6541
6542 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
6543
6544         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
6545         and $glib_cflags to match library order and in the
6546         theory that an old version of GLib is more likely to
6547         be in the include directory for X then vice-versa.
6548         (Bug #2776)
6549
6550 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
6551
6552         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
6553         to determine the locale for fontsets, not LC_MESSAGES;
6554         the user may want English messages with a handling
6555         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
6556         will still be broken) (Bug #2891)
6557
6558 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
6559
6560         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
6561
6562 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
6563
6564         * gtk/gtkrc.ko: Changed the Korean default fontset.
6565
6566 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
6567
6568         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
6569         where when scrolling to the left or top double exposes
6570         were done, causing major slowdowns.
6571
6572 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
6573
6574         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
6575         names to lowercase and alphanumeric, before looking
6576         them up.
6577
6578         * gtk/Makefile.am: Install codeset variant gtkrc files
6579         with normalized names.
6580
6581 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
6582
6583         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
6584         popup menus when the menu is already visible, but its parent
6585         is still hidden, (happens after tornoff window got hidden).
6586
6587 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
6588
6589         * gtk/Makefile.am (install-data-local): Fix
6590         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
6591         deleted, causing error messages on install.
6592
6593 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
6594
6595         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
6596         the handle as well, since we now sometimes ignore
6597         exposes on the handle while resizing.
6598
6599 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
6600
6601         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
6602         extra g_free introduced in one of the last one or two 
6603         commits.
6604
6605 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
6606
6607         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
6608         consistent, put each style that a gtkrc.* file creates
6609         in a unique namespace, remove old files before installing.
6610
6611 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
6612
6613         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
6614         gtk_rc_init is called multiple times. (Yes, people who
6615         do that have bugs in their code.)
6616
6617 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
6618
6619         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
6620         Remove it since it's generated by the Makefile anyway
6621
6622 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
6623
6624         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
6625         device->info.axes for core pointer.
6626
6627 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
6628
6629         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
6630         idle_id, to deal with obsolete, broken C libraries.
6631
6632 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
6633
6634         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
6635         allocation->x/y twice!
6636
6637         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
6638         consistent with gtk_vscale_pos_trough().
6639
6640 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
6641
6642         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
6643         be queueing a resize on a toplevel container between
6644         the time we show it and when we map it. So, we need
6645         to test GTK_WIDGET_VISIBLE() for toplevels, and only
6646         use GTK_WIDGET_DRAWABLE() for child windows.
6647
6648 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
6649
6650         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
6651         (fixes bug #2144)
6652
6653 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
6654
6655         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
6656         container DRAWABLE (instead of VISIBLE), so we don't queue
6657         resizes on non-toplevel containers.
6658
6659 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
6660
6661         * gtk/gtkselection.[ch]: Make the data argument
6662         const guchar *.
6663
6664 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
6665
6666         * gtk/gtkwindow.c: Try to behave sensibly if 
6667         the focus widget is the window itself. (Should
6668         we allow this at all?)
6669
6670 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
6671
6672         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
6673         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
6674         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
6675         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
6676         in prototypes and implementations consistent (Tomas Ogren).
6677
6678         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
6679         before the widget is unparented (reported by damon).
6680
6681         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
6682         since we provide unsigned data anyways.
6683
6684 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
6685
6686         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
6687         the call to gtk_tooltips_layout_text() until later.
6688
6689         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
6690         Call gtk_widget_ensure_style() before using the style.
6691
6692 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
6693
6694         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
6695         for old widgets that don't propagate draws to all
6696         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
6697
6698 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
6699
6700         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
6701         for a redraw but just the widget that requested the resize.
6702
6703 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
6704
6705         * gtk/gtkcontainer.c: added new widget level method
6706         gtk_container_set_reallocate_redraws() and a GtkContainer flag
6707         reallocate_redraws : 1 to reflect the setting, exported this through
6708         the argument system as a boolean ::reallocate_redraws.
6709
6710         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
6711         on the widget because the allocation changes, do so as well for
6712         widget->parent if the parent has reallocate_redraws set to TRUE.
6713         with that containers requesting reallocation redraws get automatically
6714         redrawn if their children changed allocation (this unfortunately
6715         affects also other children that didn't change allocation, but we
6716         cannot work around that before 1.3).
6717
6718 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
6719
6720         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
6721         _and_ height are >0 (not _or_).
6722
6723         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
6724         instead of gtk_container_queue_resize(), which is a core gtk internal
6725         function (must have been on crack when i queued that).
6726
6727         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
6728         we can check more reliably if we want to discard expose events.
6729         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
6730         flag.
6731         
6732         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
6733         we simply trust these events. for deciding whether to discard exposes,
6734         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
6735         
6736 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
6737
6738         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
6739         queues of areas that are completely off screen.
6740
6741         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
6742         logic for handleboxes.
6743
6744         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
6745         check on width/height.
6746
6747 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
6748
6749         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
6750         we are fine with using $@ the way we do (if we actually encounter
6751         brokeness with $@ in VPATH builds because of additional path prefixes,
6752         we need to use $(@F) actually).
6753
6754 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
6755
6756         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
6757         short lived bugs, that would allow language bindings to do surgeries
6758         to our guts.
6759
6760 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
6761
6762         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
6763         where comparison was being done against an uninitialized
6764         value causing intermittant results depending on
6765         compiler flags. Also make it clearer that we aren't
6766         ever initializing the child as 0x0 (though this will
6767         be caught in gtk_widget_size_allocate())
6768
6769 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
6770
6771         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
6772         gtk_window_unset_transient_for() call after we do checks
6773         involving the old transient parent.
6774         [ From Lance Capser <lmc@cyberhighway.net> ]
6775
6776 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
6777
6778         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
6779         an empty file.
6780
6781 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
6782
6783         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
6784         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
6785
6786 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
6787
6788         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
6789         `$@' is valid only in the build dir, not after we've done 
6790         `cd $srcdir'.  Also use `test -f' instead of less portable
6791         `test -e'.
6792
6793 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
6794
6795         * gtk/gtktext.c (correct_cache_insert): Rewrite
6796          for simplicity, and hopefully correctness.
6797          (Fixes bug #1322, which was a segfault when
6798           on some insertions with the properties around
6799           the insertion set up just wrong.)
6800
6801         * gtk/gtktext.c (gtk_text_adjustment): When we receive
6802          a "changed" signal, clamp the new value to the adjustment
6803          bounds to avoid segfaulting if someone tries to change
6804          the adjustment to a bogus value. (Bug #1795)
6805
6806 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
6807
6808         * gtk/gtkmain.c: Ignore unexpected destroy notifies
6809         for children, for toplevel windows handle them
6810         like delete_event.
6811
6812         * gtk/gtkplug.c: Add an unrealize handler so that
6813         we unref plug->socket_window when we are done
6814         with it.
6815
6816 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
6817
6818         * gtk/gtktext.c (clear_area): Fix stupid signedness
6819          problem that was causing background to sometimes
6820          be misaligned.
6821
6822 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
6823
6824         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
6825         
6826         * gtk/gtkmenu.c (gtk_menu_position): Make
6827          sure we never position menus with negative x, y,
6828          since gtk_widget_set_uposition() can't handle that.
6829
6830         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
6831          Modify the positioning code a bit so that we always
6832          put the top-left corner onscreen. (This is for
6833          UI reasons, gtk_menu_position() now takes care of
6834          gtk_widet_set_uposition() brokeness.)
6835
6836 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
6837
6838         * gtk/Makefile.am: fixed up things for -jx, x > 1.
6839
6840 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
6841
6842         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
6843           RC style that is passed in. The lack of the ref
6844           before was a bug. If people worked around this
6845           bug, this will introduce a slight memory leak
6846           in their code. The code should typically look like:
6847
6848             rc_style = gtk_rc_style_new ();
6849             [...]
6850             gtk_widget_modify_style (widget, rc_style);
6851             gtk_rc_style_unref (rc_style);
6852
6853         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
6854           the style if it was already set.
6855
6856         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
6857           style if it was set before.
6858
6859 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
6860
6861         * gtk/testgtk.c (main): Add a check to see if we
6862           are being run from the correct directory and
6863           to quit nicely if we are not.
6864
6865         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
6866           static.
6867
6868 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
6869
6870         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
6871
6872         * gtk/gtkwindow.c:
6873         queue resizes unconditionally (gtk_widget_queue_resize will figure
6874         what to do if the window is not realized).
6875         (gtk_window_move_resize): only recenter the window
6876         for GTK_WIN_POS_CENTER_ALWAYS.
6877         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
6878         the same way as GTK_WIN_POS_CENTER.
6879
6880 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
6881
6882         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
6883         with (!(info->last_flags & GDK_HINT_POS)) instead of
6884         (!info->last_flags & GDK_HINT_POS).
6885
6886         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
6887         new_height unconditionally, because we use these values even if
6888         !default_size_changed && !hints_changed.
6889         comented the (default_size_changed || hints_changed) case with
6890         respect to resize rejects from the window manager.
6891
6892         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
6893         in the zvt condition hack, since this includes the window hints, set
6894         the hints after the handling_resize case.
6895
6896         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
6897         window is initially shown with to the geometry.
6898
6899 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
6900
6901         * gtk/gtkwindow.c (gtk_window_move_resize):
6902         s/size_changed/default_size_changed/g so i know what's
6903         really going on (frying brain on smaller flame now).
6904
6905 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
6906
6907         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
6908         we have size_changed upon handling_resize. this is a gross
6909         workaround for the broken zvt widget and should be removed in
6910         1.3 again (search for FIXME).
6911         Owen provided an accurate comment for this:
6912
6913         /* We could be here for two reasons
6914          *  1) We coincidentally got a resize while handling
6915          *     another resize.
6916          *  2) Our computation of size_changed was completely
6917          *     screwed up, probably because one of our children
6918          *     is broken. It's probably a zvt widget.
6919          *
6920          * For 1), we could just go ahead and ask for the
6921          * new size right now, but doing that for 2)
6922          * might well be fighting the user (and can even
6923          * trigger a loop). Since we really don't want to
6924          * do that, we requeue a resize in hopes that
6925          * by the time it gets handled, the child has seen
6926          * the light and is willing to go along with the
6927          * new size. (this happens for the zvt widget, since
6928          * the size_allocate() above will have stored the
6929          * requisition corresponding to the new size in the
6930          * zvt widget)
6931          *
6932          * This doesn't buy us anything for 1), but it shouldn't
6933          * hurt us too badly, since it is what would have
6934          * happened if we had gotten the configure event before
6935          * the new size had been set.
6936          */
6937
6938 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
6939
6940         * gtk/gtkrc.c: deal properly with the fact that RC
6941           style lists may include rc styles more than once.
6942
6943         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
6944           unused static function.
6945
6946         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
6947           stack of directories of RC files currently being
6948           parsed and implicitely add them to pixmap path.
6949           
6950           This fixes a bug where the directory would get
6951           appended then overwritten by pixmap_path declarations.
6952
6953           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
6954
6955         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
6956           theme's exit function. (Patch from Peter Wainwright,
6957           bug #1454)
6958
6959         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
6960           Add a destroy() handler to take care of removing
6961           group for menu item. (Fixes bug #1197)
6962
6963         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
6964           in warning message.
6965
6966 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
6967
6968         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
6969         roundtrip to figure window's width and height, since we know that
6970         anyways from widget->allocation.
6971
6972 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
6973
6974         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
6975           the hints after we request the new size.
6976
6977 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
6978
6979         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
6980           GTK_WIDGET_REALIZED() assertion - we can compute the
6981           hints before we are realized.
6982
6983         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
6984           hint changing so that we have a value of hints_changed
6985           when we decide whether to constrain the window size.
6986
6987         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
6988
6989         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
6990         change back to G_MAXINT.
6991
6992 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
6993
6994         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
6995         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
6996         contain uncluttered values.
6997         (gtk_window_compute_hints): simply assert that window is realized
6998         and that geometry_info is valid, since we rely on this anyways.
6999         (gtk_window_constrain_size): major cleanups to the code.
7000         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
7001         for the base size, instead of the minimums. use 32767 as max width
7002         and height (like in gtkwindow.c) instead of G_MAXINT.
7003
7004 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
7005
7006         * cleaned up the GtkContainer.need_resize flag handling mess, we
7007         only need to force resize requests when we were prematurely
7008         realized, or our widget tree was modified when we were temporarily
7009         hidden. handling these cases directly upon showing the window (i.e.
7010         while the GdkWindow is still unmapped) avoids the need to wait for
7011         a configure event response and therefore makes the GUI more snappier
7012         and avoids blank windows during the roundtrip.
7013
7014         * gtk/gtkwidget.c:
7015         (gtk_widget_hide): 
7016         (gtk_widget_show): don't queue resizes on toplevels, they know how
7017         to deal with matters.
7018
7019         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
7020         flag directly for not visible resize containers and spare us unecessary
7021         signal emissions.
7022
7023         * gtk/gtkwindow.c:
7024         (gtk_window_realize): if we need to enforce premature size allocation,
7025         queue a container resize so we are correctly resized later on.
7026         (gtk_window_init):
7027         (gtk_window_size_request):
7028         don't freak around with the ->need_resize flag,
7029         gtk_container_queue_resize() will care about that.
7030         (gtk_window_show):
7031         handle initial resizing issues here, we can handle matters better in
7032         this place, especially since we know that our GdkWindow is still
7033         unmapped.
7034         (gtk_window_move_resize):
7035         don't care about ->need_resize at all.
7036         handle size changes properly that occoured while we waited for a
7037         configure event.
7038
7039 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
7040
7041         * gtk/gtkwidget.c (gtk_widget_set_uposition):
7042         * gtk/gtkwindow.[hc] (gtk_window_reposition):
7043         Move the hint setting code from gtk_widget_set_uposition
7044         to here; set the hints so that we respect any previously
7045         set geometry hints.
7046
7047         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
7048         change the window hints here or move the window here,
7049         let that happen in gtk_window_move_resize().
7050
7051 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
7052
7053         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
7054         to already queued resizes (and therefore redraws) on a widget, check
7055         its anchestry as well.
7056
7057         * gtk/gtkcontainer.c:
7058         (gtk_container_queue_resize): clear resize widgets for resize
7059         containers before aborting prematurely. this is especially important
7060         for toplevels which may need imemdiate processing or their resize
7061         handler to be queued.
7062         (gtk_container_dequeue_resize_handler): added new internal function for
7063         gtkwindow.c.
7064
7065         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
7066         configure event, take possible changes in window position into account
7067         as well.
7068         if we request a new window size, queue up a resize handler that will
7069         last until the configure event response arrives.
7070         combined the ->need_resize case (initial show) with the general size
7071         (hints) changed case and added even more comments.
7072         if !auto_shrink, only revert to the old allocation if the new size
7073         is smaller than the current allocation.
7074
7075 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
7076
7077         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
7078                            gtk_window_set_geometry_hints
7079                            gtk_window_set_default_size):
7080         When hints are set, queue a resize so that the hints will
7081         be eventually reset on the toplevel.
7082
7083         * gtk/gtkwindow.c (gtk_window_show): Use
7084         gtk_window_compute_default_size(). Clear the need_resize flag
7085         on the initail map so that we don't unnecessarily trigger the
7086         resize code.
7087
7088         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
7089         into separate functions. Compare the hints we are setting
7090         with what we set last time so that we can accurately
7091         tell when we need to reset the hints.
7092
7093         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
7094         function to figure out the size from requisition
7095         and default_size.
7096
7097         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
7098         from fvwm to constrain a size to the geometry hints.
7099
7100         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
7101         to compare two sets of geometry hints.
7102
7103         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
7104         from gtk_window_set_hints(), just compute the hints,
7105         don't set them.
7106
7107         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
7108         code from gtk_window_move_resize() to separate function,
7109         rationalize a bit.
7110
7111 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
7112
7113         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
7114         structure into a new private structure.
7115
7116         * gtkrc.c: Split GtkRcStyle into public/private.
7117         In the private part, add a list of pointers to the
7118         RcStyle lists this RcStyle participates in.
7119
7120         * gtkrc.c: When a RcStyle is free, remove all
7121         lists referencing it from the 
7122         realized_style_ht hash, and free those lists.
7123         
7124         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
7125         gtk_rc_init(), since that adds the default styles
7126         to the list of parsed RC files again.
7127
7128         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
7129         
7130 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
7131
7132         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
7133         checks that ensure that a widget's allocation is at least 1 in width
7134         and height. (GNOME note: this doesn't affect old panel code anymore,
7135         because GtkSocket will request width and height of at least 1 since
7136         Fri Jul 23).
7137
7138         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
7139         allocated yet (happens if the user realizes the window prematurely),
7140         size request and allocate it.
7141         (gtk_window_size_allocate): guard against guint underflows.
7142
7143 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
7144
7145         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
7146         in gtk_built_sources, so gtk.defs gets built prior to all other
7147         sources.
7148
7149 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
7150
7151         * gtk/Makefile.am:
7152         invoke indent on gtkmarshal.*. 
7153         rewrote source generation rules, use COPYING as oldest source tag for
7154         a piggyback rule to generate all sources from (don't touch it ;).
7155         major cleanups, strip spaces on build rules for GNU Make.
7156
7157         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
7158         source and target files from commandline arguments. don't invoke indent.
7159
7160 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
7161
7162         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
7163         notebook after switch to avoid drawing problems.
7164         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
7165         
7166         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
7167         show them instead. 
7168         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
7169
7170 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
7171
7172         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
7173         notebook after switch to avoid drawing problems.
7174         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
7175         
7176         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
7177         show them instead. 
7178         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
7179
7180 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
7181
7182         * gtk/gtkwindow.c:
7183         we use window->need_resize from configure_event now, to indicate that
7184         the gtkwindow should keep its allocation (e.g. because the user resized
7185         the window through window manager handles). resize_count is now reliably
7186         used to figure whether we got the allocation we requested from the
7187         window manager.
7188         configure events get queued as resizes now, the real stuff (size
7189         computation and allocation) now only goes on in gtk_window_move_resize().
7190         GtkWindow's requisition now contains its *real* requisition (like all
7191         other widgets), *not* taking usize into account.
7192         geometry_info->last_{width|height} is now updated from set_hints() only
7193         so it always contains the last hints we set for the window manager.
7194         made some event handlers return TRUE instead of FALSE.
7195         the overall code should be much more straight forward now, and the
7196         significant code portions are accompanied by comments now.
7197         (gtk_window_set_hints):
7198         removed requisition argument and made it
7199         fetch the requisition through gtk_widget_get_child_requisition.
7200         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
7201         does that now.
7202         (gtk_window_show):
7203         ensure that the widget is realized before calling 
7204         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
7205         ensure that we got properly size requested and allocated before
7206         realization.
7207         (gtk_window_configure_event):
7208         ignore plain window moves, or reallocate the widget tree through the
7209         resize queue otherwise.
7210         (gtk_window_move_resize):
7211         mostly rewrote this function to figure window manager hints more
7212         reliably, coalesce window moves and resizes to reduce configure events
7213         and do actuall size allocations.
7214
7215 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
7216
7217         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
7218         that have a resize pending, because a redraw is already queued for them.
7219
7220         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
7221         hack to clear resize_widgets.
7222
7223         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
7224         for resize containers prior to size allocation. (this is also a bit
7225         ugly, but avoids side effects for stopped emissions and is thus more
7226         reliable).
7227         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
7228
7229         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
7230         function from gtk_tooltips_expose, as we connect to ::expose_event
7231         *and* ::draw now.
7232
7233 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
7234
7235         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
7236         checks.
7237         (gtk_target_list_unref): Likewise.
7238
7239         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
7240
7241 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
7242
7243         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
7244         guard against division by zero. (Fixes bug #1339)
7245
7246 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
7247
7248         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
7249         Prevent the trivial leak of information of allowing
7250         word motion when the entry is not visible.
7251
7252 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
7253
7254         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
7255         modality to error dialog as well as confirmation dialogs.
7256         (Bug #1803, reported by Rosanna Wing Sze Yuen)
7257
7258 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
7259
7260         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
7261         tree->view_lines.
7262         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
7263
7264         * gtk/Makefile.am (install-data-local): Solaris apparently
7265         has various troubles with ln -f; use rm first instead.
7266         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
7267
7268 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
7269
7270         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
7271         use `cp' followed by `rm' (the `rm' was already there).
7272
7273 July 30, 1999 Elliot Lee <sopwith@redhat.com>
7274         
7275         * configure.in: Fix autoconf warnings about cross compilation by
7276         trying to provide sane defaults for AC_TRY_RUN.
7277         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
7278         put them into $(srcdir) when generated. Also add a dependency of
7279         gtksignal.h on gtkmarshal.h for -j builds. 
7280         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
7281
7282 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
7283
7284         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
7285         GDK_THREADS_{LEAVE,ENTER} pair.
7286         (From Paul Fisher <pnfisher@redhat.com>)
7287
7288 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
7289
7290         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
7291         width and height are always >0 (owen).
7292
7293 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
7294
7295         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
7296         change that assured that a widget's allocated with and height are
7297         always >1, since this breaks *buggy* panel code. unfortunately this
7298         back-breaks the gimp's color selector.
7299
7300         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
7301         allocation is always >0 in width and height, before sending the
7302         configure event; this is a *gross* hack to get the gimp back to work.
7303         
7304         * marked both cases with TODO-1.3
7305
7306 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
7307
7308         * gtk/gtktext.c: Don't display wrap indicators when
7309         text is not editable and word wrap is on.
7310
7311 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
7312
7313         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
7314         option menus here as they are not derived from menu shell, assure that
7315         the option menu has a menu we can add items to.
7316
7317 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
7318
7319         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
7320         width/height to (gint) before calculations and check against < 0 to
7321         avoid guint wraparounds.
7322
7323 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
7324
7325         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
7326         width and height is never zero. sanity check both dimensions against
7327         32767 and issue a warning if the allocation is greater than that.
7328
7329 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
7330
7331         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
7332         to g_main_pending() as well.
7333
7334 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
7335
7336         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
7337         call to g_main_iteration() - since that will regrab
7338         GTK+ lock to process events.
7339
7340 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
7341
7342         * gtk/gtkwindow.c
7343         - Regularize with the rest of GTK+ by making widget->requisition
7344           not reflect the set_usize()
7345         - Always recompute geometry hints, then check if they
7346           changed before sending them to the X server. The
7347           previous checks for changes would fail in a number
7348           of circumstances. 
7349
7350 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
7351
7352         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
7353
7354 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
7355
7356         * gtk/gtkdnd.c:
7357         - Code cleanups
7358         - Instantaneously update on modifier key presses
7359         - Allow cancellation of the drag with Escape.
7360
7361 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
7362
7363         * gtk/testgtk.c (create_handle_box): Set the policy
7364         to auto_shrink - otherwise the appearance is rather
7365         strange when flipping between horizontal and vertical.
7366
7367 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
7368
7369         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
7370         (gtk_window_set_default_size): don't change a value if it's < 0.
7371         queue a resize.
7372
7373 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
7374
7375         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
7376
7377 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
7378
7379         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
7380         add an extra "/" when concating "/" + filename.
7381         (From Matt Grossman <mattg@oz.net>)
7382
7383 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
7384
7385         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
7386         for fg_gc if we set it for drawing pixmap.
7387
7388 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
7389
7390         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
7391         
7392         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
7393         already set, call old engine's destroy function and
7394         unref the old engine.
7395
7396 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
7397
7398         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
7399
7400 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
7401
7402         * gtk/gtkaccelgroup.h: mark certain functions as internal.
7403
7404 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
7405
7406         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
7407         expand behaviour changed.
7408
7409         * gtk/gtklabel.c (gtk_label_set_pattern):
7410         (gtk_label_set_justify):
7411         (gtk_label_set_line_wrap):
7412         don't bother invoking queue_clear, the reallocation does
7413         that for us, always free_words so the upcoming resize will
7414         relayout the label's contents.
7415
7416 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
7417
7418         * applied argument implementation patches from Elena Devdariani
7419         <elena@cogent.ca>.
7420
7421         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
7422         ::space_style, ::relief
7423         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
7424         * gtk/gtkpreview.c: ::expand
7425         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
7426         * gtk/gtknotebook.c: ::homogeneous
7427         * gtk/gtklabel.c: ::wrap
7428         * gtk/gtklist.c: ::selection_mode
7429         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
7430         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
7431         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
7432         * gtk/gtkclist.c: ::sort_type
7433         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
7434         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
7435
7436 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
7437
7438         * gtk/gtkstyle.c: Removed ill-thought-out part of last
7439         comment.
7440
7441 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
7442
7443         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
7444         counting right when we have to attach a new style
7445         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
7446
7447         * gtk/gtkstyle.c: Documented the refcounting
7448         peculularities of gtk_style_attach.
7449
7450 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
7451
7452         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
7453         window types.
7454
7455         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
7456         of GTK_TOPLEVEL for creating the window.
7457
7458 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
7459
7460         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
7461         the last argument (reported by Per Winkvist).
7462         
7463 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
7464
7465         Fixes for invisible XOR lines (Frank Loemker
7466         <floemker@TechFak.Uni-Bielefeld.DE>)
7467         
7468         * gtk/gtkclist.c (gtk_clist_realize): Always use
7469         a non-zero pixel for GDK_XOR.
7470
7471         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
7472         Use GDK_INVERT instead of GDK_XOR.
7473
7474 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
7475
7476         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
7477         signals if h/voffsets differ from adjustment values.
7478         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
7479
7480 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
7481
7482         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
7483         ::selection-done emissions up to the topmost menu shell.
7484
7485 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
7486
7487         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
7488         the user data on the window before destroying it.
7489
7490         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
7491         unrealize handler to take care of destroying 
7492         notebook->panel properly. 
7493         (Bug #1198 - Morten Welinder <terra@diku.dk>)
7494
7495         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
7496         of g_new and g_realloc to stop memory leak. (Actually,
7497         we could just use g_realloc(), but I'm not 100% sure
7498         that is portable).
7499         (Bug #1196 - Morten Welinder <terra@diku.dk>)
7500
7501 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
7502
7503         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
7504
7505         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
7506         for fontsets.
7507
7508         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
7509         with bin/button confusion.
7510
7511 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
7512
7513         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
7514         and show how preselection of radio items is done.
7515
7516 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
7517
7518         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
7519         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
7520         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
7521         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
7522         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
7523         * gtk/gtktable.c (gtk_table_attach): 
7524         * gtk/gtklist.c (gtk_list_insert_items): 
7525         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
7526         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
7527         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
7528         * gtk/gtkbin.c (gtk_bin_add): 
7529         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
7530         * gtk/gtkfixed.c (gtk_fixed_put): 
7531         * gtk/gtklayout.c (gtk_layout_put):
7532         general fixups to container_add logic. always realize child if
7533         child->parent is realized, only map the child and queue a resize
7534         if child and child->parent are both visible.
7535
7536 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
7537
7538         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
7539         instead of gtk_container_foreach to walk and unrealize children, so
7540         composite children get also unrealized.
7541         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
7542         (gtk_widget_map): assert that the widget is visible (basic constrain).
7543         (gtk_widget_real_map): assert that the widget is realized (basic
7544         constrain).
7545
7546 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
7547
7548         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
7549
7550 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
7551
7552         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
7553         file for iso-8859-2 locales.
7554
7555         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
7556
7557 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
7558
7559         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
7560          (Pointed out by andy@rz.uni-karlsruhe.de and others).
7561          Remove some suspicious and useless lines. 
7562
7563 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
7564
7565         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
7566         width,height = 0, 0 to mean - here to edge of window,
7567         instead of -1, -1, since the former is all we support.
7568
7569 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
7570
7571         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
7572         when removing from quit_functions list.
7573
7574 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
7575
7576         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
7577
7578 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
7579
7580         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
7581          When redrawing characters on non-visible entry, use appropriate
7582          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
7583
7584 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
7585
7586         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
7587         from drag coordinates.
7588         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
7589         use drag_dest_cell.
7590
7591         * gtk/gtktree (drag_dest_cell)
7592         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
7593         (Bug #1129)
7594
7595 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
7596
7597         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
7598         translate_* fields.
7599         (gtk_item_factory_finalize): invoke translate_notify independant from
7600         translate_data.
7601         (gtk_item_factory_set_translate_func): likewise.
7602         (gtk_item_factory_destroy): only remove ifactory pointer from those
7603         widgets that belong to us (stupid me).
7604
7605 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
7606
7607         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
7608         rc_style list when lookup succeeeds.
7609
7610 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
7611
7612         * gtk/gtkctree.c (resync_selection): 
7613         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
7614         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
7615         bug.
7616
7617 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
7618
7619         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
7620         Add some missing GDK_THREADS_ENTER()/LEAVE around
7621         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
7622
7623 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
7624
7625         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
7626         rather than emit_by_name.
7627
7628         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
7629         on the widget across multiple signal emissions.
7630         (gtk_editable_delete_text): same here.
7631         (gtk_editable_class_init): set widget_class->activate_signal after
7632         editable_signals[ACTIVATE] has been created.
7633
7634 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
7635
7636         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
7637         position here prematurely -- we might not have the
7638         right ->min_position and ->max_position yet.
7639
7640 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
7641
7642         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
7643         Add error traps so if the other end of the connection
7644         dies, we survive.
7645
7646         * gtk/gtkselection.c (gtk_selection_notify): Clean
7647         up properly when selection property retrieval fails.
7648         
7649         * gtk/gtkselection.c (gtk_selection_request): Correctly
7650         reject SelectionRequest notifies where the handler
7651         returns no data.
7652
7653 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
7654
7655         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
7656         when we've previously highlighted.
7657
7658         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
7659         emit two "drag_leave" signals for Motif drops.
7660
7661         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
7662         back the correct status messages when dropping from
7663         Motif onto a proxy window that is rejecting the
7664         drop.
7665
7666 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
7667
7668         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
7669         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
7670         to compare two argument values. added gtk_arg_to_valueloc() to set a
7671         variable from an arg through its location (pointer).
7672
7673         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
7674         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
7675         as gfloat*, uchars are collected as guchar*, ints are collected as
7676         gint*, etc...
7677
7678 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
7679
7680         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
7681         Include <string.h> instead of <strings.h>.
7682
7683         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
7684         (actually, a lot more duplicate includes occur if
7685          you trace through the sequence of #include's)
7686         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
7687         
7688 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
7689
7690         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
7691         gtk-a-higuti-990322-[0-3]
7692
7693         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
7694         that was causing -DX_LOCALE not to work.
7695
7696         * gtk/gtkrc.c (gtk_rc_init):
7697         X_LOCALE will never have LC_MESSAGES defined
7698
7699 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
7700
7701         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
7702         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
7703
7704         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
7705         left/right as well (gtk-michael-980726-0.patch.gz).
7706
7707         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
7708         for pointer values, use gchar instead of char. fixed uline allocation
7709         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
7710         chunks instead of G_ALLOC_ONLY.
7711         (gtk_label_size_request): always alter requisition as passed and leave
7712         widget->requisition alone.
7713         (gtk_label_set_text): allow NULL strings.
7714         (gtk_label_new): likewise.
7715
7716 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
7717
7718         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
7719
7720 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
7721
7722         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
7723         *and* mapped (i.e. drawable).
7724         (gtk_bin_expose): only send exposes to drawable children.
7725
7726         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
7727         (gtk_box_expose): only send exposes to drawable children.
7728
7729         * gtk/gtkhscale.c (gtk_hscale_draw): 
7730         * gtk/gtkvscale.c (gtk_vscale_draw):
7731         hm, this is an ugly one. we first compute the size of our trough area
7732         here (window relative) and then check intersection with the draw_area
7733         which is parent relative because we're a NO_WINDOW widget, so we need
7734         to offset the trough area by allocation.x and allocation.y before the
7735         check. (this must not be done for the background area though, since
7736         that's already computed parent relative).
7737
7738 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
7739
7740         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
7741         unrealize title buttons.
7742
7743 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
7744
7745         * gtk/gtkclist.c (gtk_clist_column_title_passive)
7746         (gtk_clist_column_title_active): 
7747         only connect/disconnect to GtkWidgetClass::event to block mouse events.
7748
7749         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
7750         zero initialize event, removed superfluous gdk_window_get_pointer call
7751
7752         * gtk/gtklist.c (gtk_list_vertical_timeout)
7753         (gtk_list_horizontal_timeout): removed superfluous
7754         gdk_window_get_pointer call
7755
7756 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
7757
7758         * plugging problems reported by "Bruce Mitchener, Jr."
7759         <bruce@puremagic.com> due to a purify session.
7760
7761         * gtk/gtkstyle.c:
7762         (gtk_style_ref): 
7763         (gtk_style_unref): assert ref_count to be > 0.
7764
7765         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
7766         the requisition.
7767         (gtk_clist_set_shift): likewise.
7768
7769         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
7770         adjustments.
7771
7772         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
7773         event before sending it and set send_event to TRUE (which needs to
7774         be done for *all* synthesized events).
7775         (gtk_list_vertical_timeout): likewise.
7776
7777         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
7778         leaks.
7779
7780         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
7781         to TRUE when synthesizing events.
7782
7783 [ *** end of merges from 1.2 *** ]      
7784         
7785 1999-11-21  Tor Lillqvist  <tml@iki.fi>
7786
7787         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
7788         (or copied from gdkconfig.h.win32 on Win32, sigh).
7789
7790         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
7791
7792         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
7793
7794         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
7795
7796         * gdk/gdkconfig.h.win32: New file.
7797
7798         * gdk/win32/makefile.cygwin: Build just a static archive here.
7799
7800         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
7801         for the DLL from the static archive built above.
7802
7803         * gdk/gdk.def: Moved here from the win32 subdirectory.
7804
7805         * gdk/win32/*: Adapt for the changed private struct organisation.
7806
7807         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
7808
7809 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
7810
7811         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
7812         for wheel mice (buttons 4 and 5).
7813
7814 1999-11-18  Tor Lillqvist  <tml@iki.fi>
7815
7816         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
7817         drawables use just the pixel field in the foreground and
7818         background GdkColor of the GdkGC.
7819
7820         gdk_gc_set_{fore,back}ground() are called in the GIMP with
7821         GdkColors containing uninitialized (red,green,blue) fields, and
7822         just the pixel field filled in, and furthermore in the
7823         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
7824         It thus turns out that we really don't need to have the full
7825         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
7826         it later to have just the pixel values.
7827
7828 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
7829
7830         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
7831
7832 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
7833
7834         * docs/gtkfaq.sgml: threads example from Erik Mouw.
7835         New question on GtkLabel background colors.
7836
7837         * docs/gtk_tut.sgml:
7838           - Correct the example code callback
7839             function definitions.
7840           - Update the gtkdial example code, from Frans van Schaik.
7841           - Update setselection.c to current API.
7842
7843         * examples/Makefile examples/*/*.c: Update to code
7844         listed in tutorial.
7845
7846 1999-11-10  Tor Lillqvist  <tml@iki.fi>
7847
7848         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
7849         subrange table (from the "Developing International Software for
7850         WIndows 95 and Windows NT" book) was missing the Hangul syllable
7851         block... Get the loaded font's charset correctly.
7852
7853         (Note that this, and the other *-win32.c files, still really are
7854         the old ones, the win32 subdirectory is not ready for compilation
7855         yet after the reorg.)
7856
7857 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
7858
7859         * gtk/gtkclist.c: Fix off-by-one bug in parameter
7860         check.
7861
7862 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
7863
7864         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
7865         on results of XQueryDeviceState().
7866
7867 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
7868
7869         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
7870         we need to accesss only ->children. We need an accessor
7871         for the children.
7872
7873         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
7874         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
7875         to get rid of gdkx.h include.
7876         
7877         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
7878         and random references to 'None'.
7879
7880         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
7881         Get rid of unused #include <gdk/gdkx.h>
7882
7883         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
7884         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
7885         gdkconfig.h.
7886
7887 1999-11-08  Tor Lillqvist  <tml@iki.fi>
7888
7889         * gdk/win32/gdkdraw.c
7890         * gdk/win32/gdkfont.c
7891         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
7892         following yesterday's changes. (Unrelated to Owen's reorg.)
7893
7894 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
7895
7896         * gdk/x11/gdkinput-gxi.c: Add missing include,
7897           fix GdkWindowPrivate => GdkDrawablePrivate.
7898
7899         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
7900
7901         * gdk/x11/Makefile.am (xinput_sources): Add missing
7902         backslash to fix building with --with-xinput=none
7903
7904 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
7905
7906         Move all X specific code into the x11/ directory.
7907         Aside from shuffling things around, did the following:
7908
7909        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
7910          gdk_arg_context_* - a simple argument parsing system
7911          in the style of popt.
7912
7913        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
7914          gdk/x11/gdkprivate-x11.h:
7915          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
7916          add ->klass and ->klass_data fields. The klass_data
7917          field points to an auxilliary structure that is
7918          windowing system dependent.
7919
7920        * gdk/gdkfont.c: Make most of the measurement functions
7921          simply wrappers around gdk_text_extents().
7922
7923        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
7924          _gdk_font_strlen() function that hides the weird
7925          behavior in gtk+-1.[02] where a string is interpreted
7926          differently for 8-bit and 16-bit fonts.
7927
7928        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
7929          to store common code for synthesizing double/triple
7930          press events.
7931         
7932        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
7933          Make all the function that modify an existing GC
7934          simply wrappers around gdk_gc_set_values().
7935          
7936        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
7937          for throwing out later.
7938
7939        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
7940          GdkImagePrivate and GdkColormapPrivate to have a
7941          windowing system dependent part (GdkFontPrivateX etc.)
7942          that "derives" from the system-independent part.
7943
7944        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
7945          Got rid of the included-source-files for XInput in
7946          favor of automake conditionals. (Which didn't exist
7947          when XInput support was originally added.)
7948
7949        * gdk/gdkrgb.c: Remove the visual id from the debugging
7950          statements since that is X11 specific; print out
7951          type/depth info instead.
7952          
7953
7954 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
7955
7956         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
7957         loading duplicates of hashed fonts.
7958
7959         * gdk/gdk.c (gdk_keysym_convert_case): rename
7960         gdk_XConvertCase to gdk_keysym_convert_case, allow
7961         results to be NULL in the GTK+ style.
7962
7963         * gdk/gdkcompat.h: Started compatibility header
7964         for renames.
7965
7966 1999-11-07  Tor Lillqvist  <tml@iki.fi>
7967
7968         * gdk/win32/gdkprivate.h: New font private structures, related to
7969         fontsets.
7970
7971         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
7972         gdk_font_list_free(). On X11, will just be wrappers to
7973         XListFonts() and XFreeFontNames(). On Win32, the code previously
7974         in gtkfontsel.c is now here.
7975
7976         New function gdk_font_xlfd_create(). On X11 will get the FONT
7977         property of the font (for GDK_FONT_FONTs), or call
7978         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
7979         builds a XLFD style name from the font information in the LOGFONT
7980         struct(s).
7981
7982         New function gdk_font_xlfd_free(), which correspondingly frees the
7983         string returned by gdk_font_xlfd_create().
7984
7985         Implement fontsets on Win32. Add a function that iterates over a
7986         wide char string and calls a callback function for each substring
7987         of wide chars from the same Unicode subrange (and thus probably
7988         available in the same real font).
7989
7990         Improve the XLFD emulation a bit.
7991
7992         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
7993
7994         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
7995         Beta3, WM_IME_CHAR messages don't seem to contain the composed
7996         multi-byte char as with the Active IMM on Win9x. Oh well, handle
7997         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
7998         ImmGetCompositionStringW() to get the composed Unicode chars.
7999
8000         * gdk/win32/gdkgc.c
8001         * gdk/win32/gdkdraw.c: Changes needed because of the font private
8002         struct changes.
8003
8004         * gdk/win32/gdk.def: Add the new functions.
8005
8006 1999-11-04  Tor Lillqvist  <tml@iki.fi>
8007
8008         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
8009         get the Platform SDK to get <dimm.h>.
8010
8011         * gdk/win32/gdkevents.c: More event handling fixes and
8012         simplification. Never generate motion events with is_hint true. We
8013         used to do that on bogus grounds earlier. Windows sends
8014         WM_MOUSEMOVE messages on button events even if the mouse hasn't
8015         moved, ignore these.
8016
8017         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
8018
8019         * gdk/win32/gdkglobals.c
8020         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
8021         the TrackMouseEvent function, and use it.
8022
8023         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
8024         char before calling WideCharToMultiByte in order to get a string
8025         for the window title.
8026
8027         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
8028
8029         * gdk/win32/gdk.def: Remove obsolete functions.
8030
8031         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
8032         /nodefaultlib and /defaultlib switches.
8033
8034         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
8035
8036 1999-10-31  Tor Lillqvist  <tml@iki.fi>
8037
8038         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
8039         EuroSign).
8040
8041         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
8042         same type as GdkWChar, especially on Win32.
8043
8044         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
8045
8046         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
8047         before passing to Windows GDI for drawing etc. Convert to the
8048         system default codepage before passing to Windows as window
8049         titles.
8050
8051         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
8052         support changing input locale on the fly.
8053
8054         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
8055         on-the-fly changes. Convert incoming characters from the current
8056         codepage to Unicode (and then to a UTF-8 multi-byte string) based
8057         on the current input language. Use keysym<->Unicode mapping tables
8058         and functions borrowed from xterm sources.
8059
8060         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
8061         editions of Win9x, use the ActiveX-based Active IMM (Input Method
8062         Manager) if available. IMEs and the Active IMM are available under
8063         the disguise of Chinese, Korean and Japanese support for IE and
8064         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
8065         support is present in all editions (as long as you install it).
8066
8067         Call DispatchMessage from gdk_events_queue() (and thus
8068         gdk_WindowProc()), instead of duplicating the code in
8069         gdk_WindowProc().
8070
8071         Reworked the grab handling and propagation code, factored out
8072         duplicated code snippets into separate functions. Other cleanups,
8073         too.
8074
8075         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
8076         the <dimm.h> header describing the Active IMM.
8077
8078         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
8079         just do the same as for "single" fonts.
8080
8081         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
8082         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
8083         the new keysyms from gdkkeysyms.h.
8084
8085         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
8086         fontset, so that gtkentry uses wide characters.
8087
8088         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
8089         GTk+'s system directory "gtk+", not "gtk".
8090
8091 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
8092
8093         * docs/gtkfaq.sgml: FAQ update
8094
8095 1999-10-21  Tor Lillqvist  <tml@iki.fi>
8096
8097         * gdk/win32/gdkprivate.h: Add more font private data.
8098
8099         * gdk/win32/gdkfont.c
8100         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
8101         fonts and strings. Now works much better. You still have to
8102         have a correct font selected, though. No fontset emulation yet.
8103
8104 1999-10-19  Tor Lillqvist  <tml@iki.fi>
8105
8106         * gtk/maketypes.awk: Use G_OS_WIN32.
8107
8108         * gtk/gtk.def: Add some missing entry points. Also some non-public
8109         ones, but PyGTK porter claims to need them.
8110
8111         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
8112         built-in type generation.
8113
8114 1999-10-14  Tor Lillqvist  <tml@iki.fi>
8115
8116         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
8117         GDK_FONT_FONT fonts (which is all we have for now, we don't
8118         emulate fontsets). The X11 version uses plain XDrawString in that
8119         case, too. The string passed to gdk_draw_text_wc seems to be in
8120         fact (at least, when used by gtkentry and gtktext) either in a
8121         single-byte charset, or a DBCS. Not Unicode.
8122
8123         This fixes the problem in gtkfontsel, where even if you had
8124         selected a font with a non-Latin1 charset (windows-greek, for
8125         instance), the preview still used Latin-1 glyphs.
8126
8127         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
8128         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
8129         (gdk_font_load): Recognize the demibold etc weights, even if we
8130         don't have the corresponding constants in the headers.
8131         (gdk_font_hash_insert): Use same hash mechanism as in the X11
8132         version. Should save font resources a bit, when we don't have
8133         multiple HFONTs for the same font.
8134
8135         * gdk/win32/gdkprivate.h: Add the names field as in the X11
8136         version.
8137
8138 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
8139
8140         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
8141         X values
8142
8143 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
8144
8145         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
8146         layout support (as mentioned on
8147         http://www.jcinteractive.com/gnome-ui/software/widgets/)
8148
8149 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
8150
8151         * gtk/fnmatch.c
8152         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
8153
8154 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
8155
8156         * configure.in (ALL_LINGUAS): Added Galician (gl)
8157
8158 1999-10-05  Tor Lillqvist  <tml@iki.fi>
8159
8160         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
8161
8162         * gdk/win32/gdkcompat.c: New file, actually provide an
8163         implementation for the deprecated functions. (Just temporarily.)
8164
8165         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
8166
8167         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
8168
8169         * gdk/win32/gdk.def gtk/gtk.def: Updates.
8170
8171 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
8172
8173         * configure.in: Added "uk" to ALL_LINGUAS.
8174         
8175 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
8176
8177         * configure.in: correct checking for BeOS check
8178
8179         * gdk/gdktypes.h
8180         * gtk/fnmatch.c
8181         * gtk/gtkfilesel.c
8182         * gtk/gtkitemfactory.c
8183         * gtk/gtkmain.[ch]
8184         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
8185
8186 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
8187
8188         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
8189         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
8190         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
8191         by Bulgarian). 
8192
8193 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
8194
8195         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
8196         Fix a reference to window_private->destroyed.   
8197
8198         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
8199         (ugly) setting of an internal GdkWindow member to use
8200         a _slightly_ cleaner macro.
8201
8202         * gdk/gdkprivate.h: Split GdkWindowPrivate into
8203         GdkDrawablePrivate and GdkWindowPrivate.
8204         Add extra macros for accessing GDK_DRAWABLE_ components.
8205
8206         * *.[ch]: Massive adjustments for the above, use the
8207         new macros in a lot of places.
8208
8209 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
8210
8211         * gdk/gdktypes.h: Make GdkDrawable the base type,
8212         not GdkWindow.
8213
8214 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
8215
8216         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
8217
8218 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
8219
8220         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
8221
8222 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
8223
8224         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
8225         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
8226
8227         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
8228
8229         * docs/gtk-config.1: Now autogenerated.
8230         * docs/Changes-1.4.txt: started
8231         
8232 1999-10-03  Tor Lillqvist  <tml@iki.fi>
8233
8234         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
8235         to #ifdef also here.
8236
8237         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
8238         Owen did to the X11 backend.
8239
8240         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
8241         ScrollWindowEx when blitting inside a window, it can't be correct
8242         in the general case.
8243
8244         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
8245         WM_GETMINMAXINFO is easier.
8246
8247         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
8248         depth equal to the bitspixel value, not the visual's depth.
8249
8250         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
8251         to 24 even if the bitspixel value is 32.
8252
8253         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
8254         need to check for depth==32 when bpp==32, depth will always be 24.
8255
8256 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
8257
8258         * docs/Changes-1.4.txt: Started
8259         
8260         * gtk/Makefile.am (gdk_headers): Include all the new headers.
8261
8262         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
8263         
8264         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
8265         into C file.
8266         
8267         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
8268         header to gdkinputprivate.h.
8269
8270         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
8271         unused since before 1.2.
8272
8273 1999-09-30  Tor Lillqvist  <tml@iki.fi>
8274
8275         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
8276         expand possible hex escapes in the font family (put there by
8277         logfont_to_xlfd if the font name isn't a legal XLFD font family,
8278         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
8279         On Win32, add hex escapes here, too.
8280
8281 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
8282
8283         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
8284         to #ifdef GDK_WINDOWING_X11.
8285
8286 [ Merges from gtk-1-2 ]
8287
8288 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
8289
8290         * configure.in: fixed "GNU Make" check to pass with new make version
8291         3.77.95.
8292
8293 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
8294
8295         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
8296         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
8297         AM_PATH_GTK() macros don't get confused by the -pre1.
8298
8299 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
8300
8301         * configure.in (REBUILD): Change check for perl5
8302           to check explicitely for v >= 5.002. (5.001
8303           does not work with our scripts.)
8304
8305 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
8306
8307         * configure.in: evaluate $PERL for the perl version check. added
8308         --disable-rebuilds to give the user an option to completely disable
8309         any source autogeneration rules.
8310
8311 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
8312
8313         * configure.in: evaluate $ac_make when checking for GNU Make.
8314
8315 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
8316
8317         * docs/Makefile.am: added generation.txt.
8318
8319         * Makefile.am: require automake 1.4, build README from README.in and
8320         INSTALL from INSTALL.in in dist-hook.
8321         
8322         * README.in:
8323         * INSTALL.in: new files to autogenerate README and INSTALL from.
8324
8325         * configure.in: figure whether we have GNU Make
8326
8327         * docs/generation.txt: minor additions/corrections.
8328
8329 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
8330
8331         * docs/gtkfaq.sgml: FAQ Update
8332
8333 July 30, 1999 Elliot Lee <sopwith@redhat.com>
8334         
8335         * configure.in: Fix autoconf warnings about cross compilation by
8336         trying to provide sane defaults for AC_TRY_RUN.
8337
8338 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
8339
8340         * ltconfig
8341         * ltmain.sh: upgrade to libtool 1.3.3
8342
8343 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
8344
8345         * INSTALL: Indicate that the --with-glib= configure
8346         time flag is unsupported.
8347
8348 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
8349
8350         * docs/generation.txt: Added a file that gives
8351         documenation about the autogeneration process for
8352         various autogenerated files.
8353         
8354 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
8355
8356         * configure.in (LIBS): Look for libgmodule in the
8357         right location.
8358
8359 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
8360
8361         * docs/gtk_tut.sgml: Removed references to
8362         code examples in my directory on gtk.org as
8363         they should all be in the tutorial now.
8364
8365         * docs/gtk_tut.sgml: Added sources for dial-test
8366         and scribble-xinput programs that were previously
8367         missing.
8368
8369 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
8370
8371         * TODO: Added entry about menu keyboard navigation, removed
8372         some finished items.
8373
8374 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
8375
8376         * acinclude.m4: Standardize on func_dgettext
8377         not func_gettext, so that the checks for dgettext
8378         actually are paid attention to.
8379
8380 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
8381
8382         * configure.in (LIBS): Add $INTLLIBS into $LIBS
8383         directly, rather than repeating the checks for
8384         gettext.
8385
8386         * INSTALL: Added information about gettext and
8387         NLS support.
8388
8389         * acinclude.m4 (LIBM): Check for dgettext, not
8390         just gettext. This should hopefully fix things wrt
8391         systems with old versions of GNU gettext installed.
8392
8393 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
8394
8395         * configure.in (LIBS): Look for libgmodule in the
8396         right location.
8397
8398 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
8399
8400         * autogen.sh: add --enable-maintainer-mode
8401
8402         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
8403
8404 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
8405
8406         * docs/gtk-config.1.in:
8407           docs/Makefile.am:
8408           configure.in: gtk-config is now generated.
8409
8410         * docs/gtk-config.1: Removed, now generated.
8411
8412 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
8413
8414         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
8415         handle CreateNotify itself, still put out a debuging message for
8416         --gdk-debug=events. made the ReparentNotify debugging message more
8417         verbose.
8418         wrap xcoords translation for ConfigureEvents into an error trap,
8419         a destroy event may already be pending, and in that case, the
8420         actuall coordinate values are not at all critical.
8421
8422 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
8423
8424         * gdk/gdkcc.c: Stop leaking the color_hash all over
8425         the place. Simplify and improve the logic.
8426
8427 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
8428
8429         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
8430         for prototypes and function implementations consistent (reported
8431         by Tomas Ogren).
8432
8433 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
8434
8435         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
8436         send_event set in debugging output.
8437         (gdk_compress_exposures): default initialize the event so we don't
8438         operate on bogus values (namely send_event).
8439
8440 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
8441
8442         * gdk/gdkwindow.c: When we receive an unexpected
8443         destroy notify on one of our windows, don't just
8444         warn about it, also mark our windows as destroyed.
8445
8446 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
8447
8448         * gdk/gdkfont.c (gdk_font_hash_insert): Add
8449           name => font and name => fontset hashes. The 
8450           name => fontset hash is a _big_ win since we
8451           weren't previously caching fontsets at all and loading
8452           fontsets is expensive. The name => font hash
8453           is less of a win, but it does save us from doing
8454           repeated XQueryFont calls on the same font.
8455
8456         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
8457           list so we can remove font/fontset from hash.
8458
8459 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
8460
8461         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
8462           and slightly confusing test. [ XInternAtom (,,TRUE)
8463           will never return None ].
8464
8465 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
8466
8467         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
8468           gdk/gdkwindow.c (gdk_window_set_hints):
8469
8470         Don't omit setting the properties if flags == 0 -
8471         there may be an existing set of properties there
8472         already. (Very old bug. Would it be better to
8473         delete the property instead?)
8474
8475         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
8476           spelling error in comment.
8477
8478 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
8479
8480         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
8481           to avoid stomping over gdk_error_warnings.
8482
8483         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
8484           as (bits_per_pixel + 7) / 8. This gives the same
8485           result as before for multiples of 8, but actually
8486           a "reasonable" value for 1bit or 4bit displays.
8487
8488 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
8489
8490         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
8491         GNU Make.
8492
8493 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
8494
8495         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
8496         discarding configure events.
8497
8498 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
8499
8500         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
8501         refcount is greater than zero.
8502
8503         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
8504
8505         * gdk/gdkfont.c (gdk_font_unref): Likewise.
8506
8507         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
8508
8509         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
8510
8511 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
8512
8513         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
8514         that format 32 => sizeof(item) == 4. It really is
8515         sizeof(long).
8516
8517 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
8518
8519         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
8520         core dump at all on X IO errors, only core dump
8521         if --enable-debug for X errors.
8522
8523 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
8524
8525         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
8526         unknown window:" message. disabled ConfigureNotify discarding code,
8527         because it led to events being processed out of order.
8528
8529 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
8530
8531         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
8532
8533         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
8534         we export this function, supress error warnings and don't reset the
8535         error code in the first half of this function.
8536
8537         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
8538         code (instead of just -1) so gdk_error_trap_pop() reveals something
8539         actually informative about the error that happened.
8540
8541         * gdk/*.c:
8542         don't rely on gdk_error_code being -1 if an error occoured, but just
8543         gdk_error_code != 0.
8544
8545 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
8546
8547         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
8548         pointer *before* invoking the filter function, so we at least don't
8549         crash if a filter is removed that is currently executed. window filters
8550         *really* need to be made truely reentrant at some point.
8551
8552 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
8553
8554         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
8555         PropertyNotify debug messages.
8556
8557 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
8558         
8559         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
8560         
8561         * gdk/gdkim.c: Fix cut-and-paste errors for 
8562         x/y and PreeditAttributes/StatusAttributes.
8563
8564 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
8565
8566         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
8567         G_MAXINT to 2^16 to alleviate overflow problems in
8568         various window managers.
8569
8570 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
8571
8572         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
8573         for fontsets.
8574
8575 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
8576
8577         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
8578         Initialize size_hints.x and size_hints.y because kwm
8579         brokenly pays attention to them.
8580         (Bug #1181 -  Lars Heete <hel@admin.de>)
8581
8582 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
8583
8584         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
8585         return value of gdk_list_visuals(). 
8586         (Bug #1193 - Morten Welinder <terra@diku.dk>)
8587
8588 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
8589
8590         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
8591         XSetIMValues to (void *) when comparing to NULL, to workaround
8592         the problem of some compilers barfing since older X headers don't
8593         have the prototype for it.
8594
8595 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
8596
8597         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
8598         for pseudocolor where colormap->colors was double
8599         allocated.
8600
8601         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
8602         color value in the hash table with the pixel filled
8603         in so when we do later hash table lookups, the color
8604         value is correct.
8605         
8606 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
8607
8608         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
8609         making the call
8610
8611 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
8612
8613         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
8614         pointed out by Morten Welinder <terra@diku.dk>.
8615
8616 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
8617
8618         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
8619           default filter from the list
8620
8621 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
8622
8623         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
8624           default filter from the list
8625
8626 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
8627
8628         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
8629
8630         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
8631         g_strdup_printf instead of calcing the length separately
8632
8633 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
8634
8635         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
8636         that we don't do in many other places. (Fixing duplicate 
8637         #include of config.h)
8638
8639         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
8640         Otherwise, #ifndef XINPUT_NONE check in the latter
8641         doesn't work. (Bug #546)
8642
8643 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
8644
8645         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
8646         "None" case insensitive.
8647
8648 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
8649
8650         * gdk/gdkselection.c: 
8651         Add error traps so if the other end of the connection
8652         dies, we survive.
8653
8654 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
8655
8656         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
8657         dest_xid field into two fields - one for the window
8658         to send in messages, one to indicate the last looked
8659         up window for caching purposes. This is needed, so
8660         that Leave messages get the correct window.
8661
8662 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
8663
8664         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
8665         Fix warning created by people mucking around
8666         with the gsource API.
8667
8668         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
8669         Change mapping between GIOCondition and GdkInputCondition
8670         to match the way the Linux kernel does it. This should
8671         fix problems where closed pipes were no longer signalling
8672         GDK_INPUT_READ on systems with a native poll().
8673
8674 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
8675
8676         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
8677         explicitly for the string "None" - it is in the XPM
8678         spec and some servers treat unknown colors in odd ways
8679         (like asking the user!)
8680
8681 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
8682
8683         * gdk/gdkevents.c: made "->" into a "." of previous change so
8684         it compiles
8685
8686 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
8687
8688         * gdk/gdkevents.c (gdk_compress_exposures): Set the
8689         window field of the event structure before calling
8690         user filters.
8691
8692 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8693
8694         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
8695         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
8696
8697 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
8698
8699         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
8700         intermediate text property - prevents major memory
8701         leak when gdk_use_mb.
8702         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
8703
8704 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
8705
8706         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
8707         gtk-a-higuti-990322-[0-3]
8708
8709         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
8710         sizeof(wchar_t) != sizeof (GdkWChar)
8711
8712         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
8713         that was causing -DX_LOCALE not to work.
8714
8715         * gtk/gtkrc.c (gtk_rc_init):
8716         X_LOCALE will never have LC_MESSAGES defined
8717
8718         * gdk/gdk.c (gdk_init_check):
8719         Remove --xim-preedit and --xim-status from argv properly.
8720
8721         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
8722         that the client window is present on the X server
8723         before we pass it to the input method.
8724
8725 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
8726
8727         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
8728         if --display is specified on the command line, than
8729         the drag window will not be created on that display.
8730         
8731 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
8732
8733         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
8734         lookups with only_if_exists == TRUE were inserting
8735         bogus values into the atom cache.
8736
8737 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
8738
8739         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
8740         then reset it to NULL.
8741
8742         * gdk/gdkcolor.c:
8743         (gdk_colors_free): 
8744         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
8745         key for g_hash_table_remove() in both functions, this prevents us
8746         from accessing possibly uninitialized portions of a GdkColor structure
8747         where we are only interested in its pixel value.
8748
8749 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
8750
8751         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
8752         font hash table, if we have a GdkFontPrivate entry for this font
8753         already, simply increment its reference count, provided by Olaf Dietsche
8754         <olaf.dietsche+list.gtk@netcologne.de>.
8755
8756 1999-09-21  Tor Lillqvist  <tml@iki.fi>
8757
8758         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
8759         just to be sure.
8760
8761         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
8762         unused variables, leftovers from the X11 version.
8763
8764         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
8765
8766         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
8767         downcase fields on X11.
8768
8769 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
8770         
8771         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
8772         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
8773
8774 1999-09-17  Tor Lillqvist  <tml@iki.fi>
8775
8776         * gdk/win32/gdk.def: Add gdk_threads_mutex.
8777
8778         * gtk/makefile.msc: Correct path to libintl.
8779
8780         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
8781         use of gint vs. int, and gint vs. gboolean in headers and
8782         definitions. Use GtkType for the *_get_type functions. Note that
8783         these changes preserve binary compatibility.
8784
8785         * gdk/gdk.c
8786         * gdk/win32/gdk.c
8787         * gdk/gdk.h: Fix inconsistencies: gint vs int.
8788
8789         * gtk/gtkmain.c
8790         * gtk/gtkclist.c
8791         * gtk/gtkmenufactory.c
8792         * gtk/gtknotebook.c
8793         * gtk/gtkwidget.c: Fix inconsistencies, also gint
8794         vs. gboolean.
8795
8796         * gtk/gtkcolorsel.[ch]
8797         * gtk/gtkcombo.[ch]
8798         * gtk/gtkdrawingarea.[ch]
8799         * gtk/gtkgamma.[ch]
8800         * gtk/gtkhandlebox.[ch]
8801         * gtk/gtkhpaned.[ch]
8802         * gtk/gtkhruler.[ch]
8803         * gtk/gtkplug.[ch]
8804         * gtk/gtkpreview.[ch]
8805         * gtk/gtkruler.[ch]
8806         * gtk/gtksocket.[ch]
8807         * gtk/gtkstatusbar.[ch]
8808         * gtk/gtktoolbar.[ch]
8809         * gtk/gtkvbbox.[ch]
8810         * gtk/gtkvpaned.[ch]
8811         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
8812         functions.
8813
8814         * gtk/gtkgamma.h: Fix bug, missing () in call of
8815         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
8816
8817 1999-09-14  Tor Lillqvist  <tml@iki.fi>
8818
8819         * gdk/gdkcolor.c (gdk_colormap_new)
8820         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
8821         colormap->colors was allocated twice.
8822
8823         * gdk/win32/gdk.c: Remove some unused stuff.
8824
8825         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
8826         colormap.
8827
8828         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
8829         * gtk/gtklabel.h (gtk_label_get_type)
8830         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
8831         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
8832         in a couple of places, not guint.
8833
8834 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
8835
8836         * configure.in,po/et.po: added Estonian language file
8837
8838 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
8839
8840         * configure.in,po/da.po: added Danish file
8841
8842 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
8843
8844         * docs/gtkfaq.sgml: Minor FAQ Update
8845
8846 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
8847
8848         * docs/gtkfaq.sgml: FAQ update
8849
8850 1999-08-27  Tor Lillqvist  <tml@iki.fi>
8851
8852         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
8853         way to get window contents continually refreshed while resizing. I
8854         didn't like the effects myself, so it's not on by default.
8855
8856         * gdk/win32/gdkprivate.h: New flag variable
8857         gdk_event_func_from_window_proc, FALSE by default.
8858
8859         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
8860         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
8861         are passed --gdk-event-func-from-window-proc.
8862
8863         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
8864         and we have am event_func, call it instead of enqueing the event.
8865
8866 1999-08-23  Tor Lillqvist  <tml@iki.fi>
8867
8868         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
8869         Kelley: Set expose_count in GdkEventExposes correctly.
8870
8871         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
8872         MULTIPLE_WINDOW_CLASSES).
8873
8874         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
8875         for bug in NT, apparently NT *does* draw the end pixel, too, in
8876         LineTo with a one-pixel pen, so we don't have to do it ourselves.
8877
8878 1999-08-21  Tor Lillqvist  <tml@iki.fi>
8879
8880         Improvements by Hans Breuer: 
8881
8882         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
8883
8884         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
8885         CS_?REDRAW flags as they cause lots of (late) redraws when "show
8886         window contents while dragging" is turned on. Allocate at least
8887         one unique class for every GdkWindowType. If support for single
8888         window-specific icons is ever needed (eg. Dialog specific), every
8889         such window should get its own class.
8890
8891 1999-08-19  Tor Lillqvist  <tml@iki.fi>
8892
8893         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
8894         error that caused crashes.
8895
8896 1999-08-17  Tor Lillqvist  <tml@iki.fi>
8897
8898         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
8899         window, use ScrollWindowEx, and call UpdateWindow. This prevents
8900         bugs when for instance part of the window was outside the
8901         display. Thanks to Philippe Colantoni for finding and fixing this.
8902
8903 1999-08-16  Tor Lillqvist  <tml@iki.fi>
8904
8905         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
8906         endpoint calculations which were totally wrong. (A little RTFMing
8907         helps a lot ;-)
8908
8909         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
8910         from a separate directory, not from gettext, because of licensing
8911         issues (we want to use the LGPL version).
8912
8913         * README.win32: Mention the intl from glibc vs from gettext issue.
8914
8915 1999-08-13  Tor Lillqvist  <tml@iki.fi>
8916
8917         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
8918         in the key event handling: Now AltGr chars work again. Also,
8919         now Alt-digits are passed up as well as Control-digits.
8920         Pass keypad plus and minus as normal plus and minus.
8921
8922 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
8923
8924         * docs/gtkfaq.sgml: FAQ Update
8925
8926 1999-07-25  Tor Lillqvist  <tml@iki.fi>
8927
8928         * README.win32
8929         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
8930         the Wintab SDK.
8931
8932         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
8933         OK, but getting closer. Guard against bogus tilt data from Wacom
8934         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
8935         enable easier building without Wintab.
8936
8937         * gdk/win32/gdkinput.h
8938         * gdk/win32/gdkevents.c 
8939         * gdk/win32/gdkwindow.c: Minor changes related related to above.
8940         
8941         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
8942         code. As we have just one visual on Win32, no sense to have it in a
8943         table, and no need for the hash table.
8944
8945         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
8946         better on white background.
8947
8948 1999-07-21  Tor Lillqvist  <tml@iki.fi>
8949
8950         * README.win32: Update gcc build instructions. Mention gettext is
8951         GPL.
8952
8953         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
8954         supported cursor size with GetSystemMetrics.
8955
8956         * gdk/win32/gdkfont.c
8957         * gtk/gtkfontsel.c: Guard against some font weight and charset
8958         symbols being undefined (in mingw32 headers).
8959
8960         * gdk/win32/makefile.cygwin
8961         * gtk/makefile.cygwin
8962         * gtk/gtkthemes.c: No longer need to have differently named
8963         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
8964
8965 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
8966
8967         * docs/gtkfaq.sgml: Long awaited FAQ update.
8968
8969 1999-07-15  Tor Lillqvist  <tml@iki.fi>
8970
8971         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
8972         it. Obscure bit manipulation needed.
8973
8974         * gdk/win32/gdkevents.c: Logging.
8975         
8976         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
8977         style (file name include compiler name) for theme engines.
8978
8979 1999-07-13  Tor Lillqvist  <tml@iki.fi>
8980
8981         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
8982
8983         * gdk/win32/gdkevents.c: Fix long-standing bug in key
8984         events. The key.string wasn't zero-terminated, still we strdup'ed
8985         it in gdk_event_copy(). Synthesize crossing events for button
8986         events before possible propagation.
8987
8988         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
8989
8990         * gdk/win32/makefile.cygwin
8991         * gtk/makefile.cygwin: Use new DLL naming style for the
8992         GCC-compiled ones.
8993
8994         * gdk/win32/makefile.msc
8995         * gtk/makefile.msc: Cosmetics mostly.
8996
8997         * gtk/gtk.def: Add missing entry points.
8998
8999         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
9000
9001 1999-07-09  Tor Lillqvist  <tml@iki.fi>
9002
9003         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
9004         or height is zero. Don't print a warning if Pie or Arc fails, they
9005         always fail (?) for very narrow ellipses.
9006
9007         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
9008         the part or the destination window corresponding to source area
9009         outside of the source drawable's boundary.
9010
9011         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
9012         anything if less than two points.
9013
9014         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
9015         return NULL. Gtk cut-and-paste inside a single program works
9016         better this way. (It always gets the clipboard contents from
9017         Windows, not from its own copy, which is cleared anyway. I can't
9018         say I fully understand what happens... Emulating the X selection
9019         and property stuff is a bit of a mess.)
9020
9021         * gdk/win32/gdkevents.c
9022         * gdk/win32/gdkproperty.c: A bit more verbose logging.
9023
9024         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
9025         that never got deleted). Revamp gdk_region_shrink.
9026
9027         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
9028         after use.
9029
9030         * gtk/gtk.def: Add some missing entry points.
9031
9032         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
9033         component.
9034
9035 1999-07-04  Tor Lillqvist  <tml@iki.fi>
9036
9037         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
9038         Control-digits specially.
9039
9040 1999-07-03  Tor Lillqvist  <tml@iki.fi>
9041
9042         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
9043
9044 1999-06-28  Tor Lillqvist  <tml@iki.fi>
9045
9046         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
9047         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
9048         finding this.)
9049
9050 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
9051
9052         * gtk+.spec.in: Corrected some typos in files section.
9053         
9054 1999-06-15  Tor Lillqvist  <tml@iki.fi>
9055
9056         * README.win32: Mention using GNU gettext.
9057         * config.h.win32: Enable NLS stuff.
9058         * gtk/makefile.msc: Use GNU gettext.
9059         * gdk/win32/gdkdnd.c: Minor header reorg.
9060         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
9061         cosmetics.
9062         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
9063         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
9064
9065 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
9066
9067         * acinclude.m4
9068         * config.guess
9069         * config.status
9070         * ltconfig
9071         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
9072
9073 1999-05-30  Tor Lillqvist  <tml@iki.fi>
9074
9075         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
9076         SafeAdjustWindowRectEx. Don't override all calls to
9077         AdjustWindowRectEx by it, but use it only in two places: When
9078         creating a new top-level window and when moving a top-level
9079         window.
9080
9081         Use screen coordinate rectangle, not client rectangle, in
9082         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
9083         when we try to place a window so that the decoration (mainly,
9084         title bar) isn't visible.
9085
9086         These changes fix the bug that showed up for instance as the
9087         GIMP's saved top-level windows moving right and down (by an amount
9088         equal to the window decoration) for each session. This bug showed
9089         up also in testgtk's "Saved Position".
9090
9091         gdk_window_resize also redone a bit.
9092
9093 1999-05-25  Tor Lillqvist  <tml@iki.fi>
9094
9095         * gtk/testgtkrc: Add (commented out) Windows-style theme
9096         include line.
9097
9098         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
9099
9100 1999-05-18  Tor Lillqvist  <tml@iki.fi>
9101
9102         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
9103         gdkx.h to a gdk subdirectory, so that applications can include
9104         these with <gdk/*.h> without trouble.
9105
9106         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
9107         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
9108         have their bitmap destroyed.
9109
9110         * gdk/win32/gdk.def: Add gdk_root_parent.
9111
9112 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
9113
9114         * configure.in
9115           gtk-config.in
9116           ltconfig
9117           ltmain.sh     
9118           gtk/Makefile.am: changes to compile nicely (with xlib) 
9119           on BeOS
9120
9121 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
9122
9123         * acinclude.m4
9124         * config.guess
9125         * config.sub
9126         * ltconfig
9127         * ltmain.sh: upgrade to libtool 1.3
9128
9129 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
9130
9131         * gtk/gtkclist.c:
9132         * gtk/gtkctree.c: merges from gtk-1-2
9133
9134 1999-04-25  Tor Lillqvist  <tml@iki.fi>
9135
9136         Support added for building using a GNU toolchain on Win32,
9137         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
9138
9139         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
9140         * config.h.win32: Changes for gcc.
9141         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
9142         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
9143         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
9144         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
9145         Protect shl stuff unavaiilable with mingw32 headers.
9146         * gdk/win32/gdkevents.c: Fix typo.
9147         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
9148         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
9149         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
9150         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
9151         the mingw32 headers.
9152         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
9153         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
9154         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
9155         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
9156         Test for NATIVE_WIN32, not _MSC_VER.
9157         * gtk/gtkmain.c: No use warning about developer version on Win32,
9158         there aren't any non-developer versions anyhow.
9159         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
9160         * gtk/makefile.msc: Use pthread from another directory. Minor other
9161         changes. 
9162
9163 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
9164
9165         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
9166           default filter from the list
9167
9168 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
9169
9170         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
9171          when gtk_widget_grab_default() is called for a widget that
9172          is not within a GtkWindow.
9173
9174 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
9175
9176         * docs/gtk_tut.sgml, examples/clist.c: use a
9177           scrolled window in the clist example. Minor
9178           tutorial fixes.
9179
9180 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
9181
9182         * docs/gtk_tut.sgml: Style check from David King
9183           <dking@youvegotmail.net>
9184
9185 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
9186
9187         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
9188         compile with unknown value of GDK_WINDOWING
9189
9190 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
9191
9192         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
9193         after the rule is fired.
9194         (install-exec-local): Install gdkconfig.h only if the contents are
9195         different from the currently installed gdkconfig.h.
9196
9197 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
9198
9199         * gdk/Makefile.am (configexecincludedir): Rename from 
9200         configincludedir so that gdkconfig.h will be installed 
9201         as part of `make install-exec'. 
9202
9203 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
9204
9205         * acinclude.m4
9206         * config.guess
9207         * config.sub
9208         * ltconfig
9209         * ltmain.sh: upgrade to libtool 1.2f
9210
9211         * autogen.sh: libtool is not required to autogen gtk+
9212
9213         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
9214         needed)
9215
9216 1999-03-18  Tor Lillqvist  <tml@iki.fi>
9217
9218         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
9219         declaring gdk variables exported/imported from the DLL. New image
9220         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
9221         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
9222         GDK_DRAG_PROTO_OLE2.
9223
9224         * gdk/gdk.h: Merge in Win32 version: Two new functions,
9225         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
9226         declared only for the Win32 version, but could be in the X11
9227         version as well. (Needed for a Xlib-less gdk_imlib.)
9228         gdk_color_hash should have only one parameter. Declare
9229         gdk_threads_mutex with GDKVAR.
9230         
9231         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
9232         just one parameter.
9233
9234         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
9235         per pixel, not bits.
9236
9237         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
9238         Fetch bpp (which means bits-per-pixel here) from another place on
9239         Win32. Accept also depth==32 (which we might get on Win32) with
9240         bpp==32.
9241
9242         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
9243         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
9244         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
9245         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
9246         in the backend-dependent directory, not in the common gdk
9247         directory.
9248
9249         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
9250         headers.
9251
9252 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
9253
9254         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
9255         want to use the Gtk+ devel version (which is true, and yes - even i am
9256         currently working with the 1.2.x branch). so everyone reading this, you
9257         probably want to issue
9258         cvs checkout -r glib-1-2 glib
9259         and
9260         cvs checkout -r gtk-1-2 gtk+
9261         as your next two comands.
9262
9263 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
9264
9265         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
9266         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
9267
9268         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
9269         file. strongly deprecated the GTK_HAVE_* macros, we provide
9270         GTK_CHECK_VERSION() for people that need to check for certain
9271         Gtk+ versions.
9272
9273         * gtk/gtkcompat.h: removed this from CVS.
9274         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
9275         idea right from the start, it just didn't seem like that back then.
9276
9277 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
9278
9279         * merges from gtk-1-2:
9280
9281 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
9282
9283         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
9284         item factory class has been created.
9285         (gtk_item_factory_parse_rc): likewise.
9286
9287         * gtk/gtkmenu.c:
9288         keep proper references for old_active_menu_item.
9289         (gtk_menu_reparent): unset the usize of the new parent,
9290         so the menu can sanely be size requested and we don't get nasty screen
9291         artefacts upon next reparentation.
9292         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
9293         enter notify. only synthesize enter notifies if the pointer really is
9294         inside the event window.
9295         (gtk_menu_popdown): use gtk_menu_shell_deselect().
9296         (gtk_menu_popup): move the background setting stuff into
9297         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
9298
9299         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
9300         gtk_menu_shell_select_item() to select the new item.
9301         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
9302         do the right thing for deselection as well.
9303
9304 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
9305
9306         * gtk/gtkwidget.[hc]:
9307         (gtk_widget_accelerators_locked): return whether a widget's accelerators
9308         are locked.
9309
9310         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
9311         existing accelerators if the widget's accelerators are locked.
9312
9313 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
9314
9315         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
9316
9317         * gtk/gtkmenu.c: truely forward key press and key release events to
9318         the menu widget from the toplevel or tearoff window. we can't simply
9319         connect to that, we need to stop further processing of the events as
9320         well.
9321
9322 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
9323
9324         * gtk/gtkmenu.c:
9325         (gtk_menu_key_press): pass event->keyval, event->state to
9326         gtk_accelerator_valid, instead of event->keyval twice.
9327         refuse to install single letter accelerators for menus that use
9328         single letter shortcuts.
9329
9330         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
9331         gtk_menu_ensure_uline_accel_group().
9332
9333         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
9334         which will always return an uline accel group, made
9335         gtk_menu_get_uline_accel_group() return NULL if the group isn't
9336         yet created.
9337
9338 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
9339
9340         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
9341
9342         * gtk/gtkclist.c (gtk_clist_column_title_passive):
9343         Leave button sensitive, trap  button_press, button_release,
9344         motion_notify, enter_notify and leave_notify events instead.
9345         (gtk_clist_column_title_active): disconnect event handler.
9346         (gtk_clist_drag_data_get): fixed memory leak. Reported by
9347         Guillaume Laurent <glaurent@worldnet.fr>
9348
9349 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
9350
9351         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
9352         width/height mixups.
9353
9354         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
9355         if needed.
9356
9357 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
9358
9359         * gtk/testgtk.c (create_item_factory): unref the item factory after
9360         window's destruction.
9361
9362         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
9363         count on the menu shell around the menu item's activation, since the
9364         signal emission may cause menu shell destruction.
9365
9366         * gtk/gtkitemfactory.c:
9367         the previous code leaked one accel group per menu. we use
9368         gtk_menu_get_uline_accel_group() now to fix that, and with that
9369         also create the underline accelerator group of the menus only if
9370         required (i.e. an underline accelerator has been specified).
9371         (gtk_item_factory_construct):
9372         (gtk_item_factory_create_item): removed code that would create an
9373         extra accel group for the menu (and leak references).
9374         (gtk_item_factory_create_item): adapted the underline accelerator
9375         installation code to properly feature gtk_menu_get_uline_accel_group().
9376
9377         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
9378         menu->accel_group, this may return NULL if the accelerator group
9379         hasn't been set yet.
9380         added gtk_menu_get_uline_accel_group() to retrive the underline
9381         accelerator group of the menu, this will be created on demand
9382         and proper care is taken about its reference count.
9383
9384         * gtk/gtkitemfactory.h:
9385         * gtk/gtkitemfactory.c:
9386         dumped the approach of keeping a widgets by action list on the
9387         factory since the factory<->widget destroy negotiation didn't work
9388         and would be hard to get going at all. instead we keep a list of
9389         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
9390         persistant throughout a program's life time).
9391         also, i removed the static const gchar *key_* variables, and made
9392         them inline strings (they weren't actually used anyways).
9393         (gtk_item_factory_add_item): update ifactory->items.
9394         (gtk_item_factory_destroy): destroy ifactory->items (and remove
9395         the item factory pointer from the remaining ifactory widgets).
9396         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
9397         list to find the widget.
9398         (gtk_item_factory_get_item): new function that works around
9399         gtk_item_factory_get_widget() limitations, this function will only
9400         return menu items, even for <Branch> entries.
9401
9402 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
9403
9404         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
9405         font hash table, if we have a GdkFontPrivate entry for this font
9406         already, simply increment its reference count, provided by Olaf Dietsche
9407         <olaf.dietsche+list.gtk@netcologne.de>.
9408
9409         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
9410         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
9411
9412 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
9413
9414         * gtk/gtkcontainer.c:
9415         (gtk_container_add_with_args):
9416         (gtk_container_addv):
9417         (gtk_container_add): before adding a child to a conatiner, make sure
9418         it is (default) constructed, this is neccessary because under certain
9419         circumstances the child will get relized and mapped immediatedly, in
9420         which case it has to be constructed already.
9421
9422 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
9423
9424         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
9425         values > 1 as TRUE also.
9426
9427 1999-03-16  Tor Lillqvist  <tml@iki.fi>
9428
9429         * README.win32: New file.
9430                 
9431         * configure.in: Check for lstat.
9432
9433         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
9434         completeness.
9435
9436         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
9437
9438         * gtk/gtk.def: Removed CRs.
9439
9440         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
9441         ..\gdk\win32).
9442
9443         * gdk/win32/makefile.msc: Correct upwards relative paths.
9444         
9445 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
9446
9447         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
9448           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
9449           it was connecting a void function to expose_event and the int
9450           returning function to the draw signal
9451
9452 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
9453
9454         * configure.in:
9455         Use correct path to libgmodule.la when ref'ing uninstalled copy
9456         of glib.  (Already in stable branch, Bug #417)
9457
9458 1999-03-15  Tor Lillqvist  <tml@iki.fi>
9459
9460         Win32 merge and general portability stuff:
9461                 
9462         * acconfig.h,configure.in: Check for <sys/time.h>.
9463
9464         * gdk/win32: New directory (actually, been there for a while).
9465         
9466         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
9467         NATIVE_WIN32, and use these. Always case fold on Win32. No
9468         backslashed escapes on native Win32.
9469
9470         * gtk/{gtk.def,makefile.msc}: New files.
9471
9472         * gtk/Makefile.am: Add above new files.
9473         
9474         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
9475         instead of <strings.h>.
9476
9477         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
9478         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
9479         <unistd.h> appropriately.
9480
9481         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
9482         Use ABS() (from <glib.h>) instead of abs().
9483         
9484         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
9485         of gtk (and thus glib) headers, so that WIN32 will be
9486         defined. With MS C, include <direct.h> for mkdir prototype.
9487
9488         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
9489         some casts, needed by MS C.
9490
9491         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
9492         implemented).
9493
9494         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
9495         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
9496         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
9497
9498         * gtk/gtkmain.h: Mark variables for export/import on Win32.
9499                 
9500         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
9501         the event is not a hint, or its window is not the slider. Needed
9502         on Win32, at least.
9503
9504         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
9505         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
9506         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
9507         a subdirectory of the Windows directory as gtk system
9508         configuration directory.
9509
9510         * gtk/gtkselection.c: No chunks on Win32.
9511
9512         * gtk/gtksocket.c: Not implemented on Win32.
9513
9514         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
9515
9516         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
9517
9518         * gtk/maketypes.awk: Declare variables with a macro that expands to
9519         necessary export/import magic in the case of Win32.
9520                 
9521         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
9522
9523 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
9524
9525         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
9526         since those were meant only for gdki18n.h.  
9527         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
9528         for widechar tests.
9529         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
9530
9531 1999-03-13  Tor Lillqvist  <tml@iki.fi>
9532
9533         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
9534         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
9535
9536         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
9537         installed) to CFLAGS.
9538
9539         * gdk/Makefile.am: Add rules for gdkconfig.h.
9540
9541         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
9542         APIs.
9543
9544         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
9545         gdkx.h anyway when compiling for X11.
9546         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
9547         general): Merge in Win32 version.
9548         
9549         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
9550         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
9551         expansion (if we don't have HAVE_PWD_H), allow for drive
9552         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
9553         included code from Craig Setera's port to Win32 (the one that uses
9554         X11, and the cygwin dll), even if it probably will be abandoned.
9555
9556         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
9557         the user entered one herself.  This way one can complete *.h and
9558         don't get matches on any .help files, for instance.
9559         
9560 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
9561
9562         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
9563         font hash table, if we have a GdkFontPrivate entry for this font
9564         already, simply increment its reference count, provided by Olaf Dietsche
9565         <olaf.dietsche+list.gtk@netcologne.de>.
9566
9567         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
9568         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
9569
9570 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
9571
9572         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
9573         the number of calls to gdk_draw_point() (and thus to X) by
9574         clipping the points by hand.
9575
9576         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
9577         the clip parameter.
9578         (gtk_handle_box_paint): Only paint the handle if the expose area
9579         intersects it.
9580
9581 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
9582
9583         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
9584
9585 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
9586
9587         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
9588         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
9589
9590 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
9591
9592         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
9593          textmode (O_TEXT) for OS/2 version.
9594
9595 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
9596
9597         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
9598         GtkSpinButton, "input" and "output", to make the output more flexible.
9599         The user has to provide a mapping between adjustment->value and the
9600         output string (and vice versa, if the spin button is editable). 
9601         See testgtk for examples.
9602
9603 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
9604
9605         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
9606         new one.
9607         
9608         * configure.in: set gtk+ version to 1.3.0.