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