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