]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-8
Really release 1.3.1
[~andy/gtk] / ChangeLog.pre-2-8
1 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
2
3         * Really release 1.3.1
4         
5         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6         include structure.
7
8 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9
10         * Released 1.3.1
11
12 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
13
14         * gtk/gtktextlayout.c: use FALSE for size_only most
15         of the time when calling gtk_text_layout_get_line_display()
16         to avoid causing double reshapes when a redraw follows
17         immediately after.
18
19 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
20
21         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
22         appropriate region and gdk_window_process_updates() so trough
23         updating doesn't lag behind the window being scrolled.
24
25         * gdk/gdkgc.c: Make parent_class pointer static.
26          
27 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
28
29         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
30         include <string.h>.
31          
32         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
33         cut-and-paste error in computing memory offset for 4 channels.
34
35 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
36
37         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
38         gtk_rc_append_default_pixmap_path(), since it wasn't
39         adding an interesting path and we don't have a meaningful
40         default for this value.
41
42 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
43
44         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
45         gtk-config to gtk-config-2.0 move gtk_.m4 to
46         gtk-2.0.m4
47
48         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
49         gdk/Makefile.am demos/Makefile.am: Change 
50         library names to libgtk-1.3.la, etc, so that we
51         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
52
53         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
54         gdk/Makefile.am gdk/x11/Makfile.am
55         Move include files into /usr/include/gtk-2.0, 
56         /usr/lib/gtk-2.0/include/
57          
58         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
59         gtk/gtkintl.h: Change package for gettext from 
60         gtk+ to gtk20. Put hack in autogen.sh to modify
61         po/Makefile.in.in after gettextize to make this
62         possible.
63
64         * gtk+.spec: Some updates, not tested.
65
66         * gdk-pixbuf/Makefile.am: Move loaders into
67         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
68
69         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
70         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
71         to THEMENAME/gtk-2.0/. Move engine directory  to
72         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
73         
74 2000-07-12  Tor Lillqvist  <tml@iki.fi>
75
76         Win32 changes, still doesn't build though.
77
78         * gdk/makefile.cygwin
79         * gdk/win32/makefile.cygwin
80         * gtk/makefile.cygwin: Updates.
81
82         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
83         default values for fg and bg pixel as X11 does (0 and 1), not
84         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
85         Use 0 for pen width by default (treated as 1 anyway later, but for
86         apps that might check the value in the GdkGC).
87         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
88         interface to gdk_gc_predraw and _postdraw.
89
90         * gdk/win32/gdkwin32.h
91         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
92
93         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
94         extraneous semicolon.
95
96         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
97
98         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
99         not the Win32 bitspixel value.
100
101         * gdk/win32/gdkcc-win32.c:
102         * gdk/win32/gdkcolor-win32.c 
103         * gdk/win32/gdkprivate-win32.h
104         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
105         GDK object structure.
106
107 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
108
109         * docs/tutorial/gtk_tut_12.es.sgml (name): 
110         * docs/tutorial/gtk_tut_it.sgml (name): 
111         * docs/tutorial/gtk_tut_fr.sgml (name): 
112         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
113         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
114
115 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
116
117         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
118           small changes.
119
120 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
121
122         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
123         a bug here, never been here and never fixed anything ;(
124         (don't segfault if tree->root_tree is NULL, which happens prior
125         to widget realization, but puke instead).
126
127 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
128
129         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
130         add the necessary tokens.
131
132         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
133         (gtk_rc_style_to_style): copy thicknesses.
134         (gtk_rc_init_style): apply thicknesses.
135         (gtk_rc_parse_style): parse xthickness and ythickness.
136
137         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
138
139         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
140         (gdk_window_new): 
141         (_gdk_windowing_window_init): 
142         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
143         (gdk_pixmap_create_from_data): 
144         (gdk_bitmap_create_from_data): 
145         (gdk_pixmap_new): 
146         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
147         (gdk_image_new): 
148         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
149         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
150         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
151         (gdk_colormap_get_system): 
152         (gdk_colormap_new): 
153         * gdk/gdkwindow.c (gdk_window_init): 
154         * gtk/gtkstyle.c (gtk_style_new):
155         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
156         * gdk/gdkpixmap.c (gdk_pixmap_init): 
157         * gtk/gtkrc.c (gtk_rc_style_new):
158         use g_object_new() instead of g_type_create_instance() which
159         is a private function for fundamental type implementations.
160
161 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
162
163         * configure.in: Add check for db2html
164
165 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
166
167         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
168         hack to set glib_debug_objects based on gtk_debug_flags.
169
170 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
171
172         * INSTALL.in: Update the Prerequisites section.
173
174         * Makefile.am demos/Makefile.am docs/Makefile.am
175         docs/tutorial/Makefile.am gdk/x11/Makefile.am
176         gdk/linux-fb/Makefile.am: Dist fixes
177
178 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
179
180         * NEWS: 10,000 foot view of 1.3.1 changes.
181
182 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
183
184         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
185         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
186         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
187         gdk/x11/gdkmain-x11.c: 
188
189         Patch from George Lebl to add a GdkGrabStatus enumeration to use
190         as a return value of gdk_*_grab(). Previously, we just
191         returned the X11 values directly.
192
193 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
194
195         * gdk/x11/Makefile.am: Patch from George Lebl to 
196         install all the headers in the right place.
197
198 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
199
200         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
201           initial conversion to DocBook.
202
203 2000-07-04  Tor Lillqvist  <tml@iki.fi>
204
205         * README.win32: Improve a bit.
206
207         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
208         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
209         Alt+0nnn on the numpad (used to enter characters by numeric code
210         from current DOS or ANSI codepage) working correctly, as in other
211         Windows apps.
212
213         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
214         same argument validity tests as in X11 version.
215         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
216
217         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
218         definitions in case missing from headers.
219
220         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
221         destroy the window-specific cursor.
222         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
223         calling GetModuleHandle(NULL).
224         (gdk_window_set_cursor): Reworked to always copy the passed cursor
225         with CopyCursor before setting it as the window-specific
226         cursor. It is OK for the caller to destroy the GdkCursor (and thus
227         also its Windows cursor) after calling this function. Destroy any
228         previous window-specific cursor.
229
230 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
231
232         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
233         font charset is iso8859-1, not iso-8859-1.
234
235 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
236
237         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
238         Use g_get_charset() instead of g_get_codeset().
239
240         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
241         Comment out some strdup'ing functions to keep timj
242         happy until we finish fighting this out.
243
244 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
245
246         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
247         <= width or height.
248
249         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
250         from 1.2 for parent/child states.
251
252         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
253         of typos.
254
255         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
256         event structures, replace with a generic axes field. Replace 
257         deviceid/sourec with GdkDevice *device.
258
259         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
260         to extract particular axis use value from event. (Also
261         can be used for normal X/Y.)
262
263         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
264         allow for arbitrary number of axes, namespace everything
265         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
266         everywhere.
267
268         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
269         Get rid of the gdk_input_vtable setup if favor of simply
270         defining the functions in gdkinput-none/gxi/xfree.c in
271         a similar fashion to the way that the port structure is 
272         done.
273
274         * gtk/gtkdnd.c: Fix fields of synthesized button press event
275         for new event structures. 
276
277         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
278         new device interfaces.
279
280 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
281
282         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
283         set the initial text.
284
285         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
286         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
287         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
288         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
289
290         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
291         pango_layout_set_font_description to simplify.
292
293 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
294
295         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
296         pango_layout_set_font_description to simplify.
297
298 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
299
300         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
301         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
302         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
303
304         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
305         PANGO_PIXELS() macro.
306
307 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
308
309         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
310         that returns a PangoContext owned by the widget and updated to
311         match future changes in the widget. Also, make 
312         gtk_widget_create_pango_layout() use this context. If we ever
313         add a ::changed signal to PangoContext, this will make things
314         much more convenient. 
315
316         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
317         in the appropriate places instead of destroying the layouts and
318         creating new ones.
319
320         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
321         in a few strategic places.
322
323 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
324
325         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
326         gtk_widget_size_request() on reparented child, if one. Otherwise,
327         queue_resize() on the child never results in it getting size-requested
328         at all.
329
330         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
331         in option menus, so that (with luck) people won't copy it into
332         their apps in the future.
333
334         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
335         to gtk_option_menu_calc_size. This isn't perfect, but should fix
336         a lot of problems with changing the size of the menu's menu
337         items after adding it to the option menu.
338
339         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
340
341         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
342         the text direction for a widget changes.
343
344         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
345         ::direction_changed to get rid of various hacks.
346
347 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
348
349         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
350         name.
351
352 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
353
354         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
355         flag to the structure. Do not call XFreePixmap on pixmaps created
356         by gdk_pixmap_foreign_new().
357
358 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
359
360         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
361         value using GdkRGB functionality given GdkColormap and GdkColor.
362         (name not final, waiting for inspiration.)
363         
364         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
365         set the foreground/background of a GC using the GC's colormap
366         and GdkRGB. (name not final, waiting for inspiration.)
367
368         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
369         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
370
371         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
372         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
373         purely a function of the corresponding colormap. Make
374         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
375
376         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
377         gdk_pixbuf_*create_from_xpm_* in terms of
378         gdk_pixbuf_new_from_xpm_data(), move into platform independent
379         code.
380
381         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
382         advantage of the new draw_rgb_32_image_dithalign.
383
384         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
385
386         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
387         on each created GC.
388
389         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
390
391         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
392         which we initialize from the drawable when the GC is created,
393         if the drawable has a colormap.
394
395         * gdk/x11/gdkgc-x11.c: include string.h for memset.
396
397         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
398
399         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
400
401 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
402
403         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
404         actually returning expose events, make sure to set
405         the count field properly.
406
407         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
408         accidentally reintroced bug which always cleared
409         the graphics_exposures value. 
410
411 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
412
413         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
414
415 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
416
417         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
418
419 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
420
421         * docs/faq/gtk-faq.sgml: Start of Section 6.
422
423 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
424
425         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
426         
427         (Fixes problem with drawing childless frames. Pointed out
428         by and a first patch from Anders)
429         
430         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
431         compute a child_allocation, even if we don't have a child.
432
433         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
434         Always chain to the parent's impl, even if we don't have a child.
435
436 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
437
438         * gdk/gdkrgb.c: If possible, create only a single shm segment and
439         use multiple parts of it instead of creating a bunch of separate
440         segments, since the maximum number of segments per system is not
441         large. (This might be worth backporting to GTK+-1.2.x if we make a
442         new release )
443
444         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
445         structure in preparation for per-colormap GdkRGB.
446
447         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
448         to False when we get EINVAL from shmget so that the caller of
449         gdk_image_new can retry with a smaller segment size.
450
451 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
452
453         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
454
455 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
456
457         * configure.in: make the current version number 1.3.1 (binary age 0,
458         interface age 0).
459         
460         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
461         gtkcompat.h is all we want.
462
463         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
464         GLib primitive types. fixed g_type_register_fundamental() argument
465         ordering.
466
467         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
468         compiles.
469
470         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
471         object code cleanup, comment trigraph fixes, etc...
472
473 2000-06-23  Havoc Pennington  <hp@redhat.com>
474
475         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
476         instead of making up a bogus name for first_para_mark
477
478         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
479         0 as a context ID
480
481 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
482
483         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
484
485 2000-06-21  Havoc Pennington  <hp@pobox.com>
486
487         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
488         we didn't check window->bg_pixmap != GDK_NO_BG.
489
490         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
491         gdk-pixbuf
492
493 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
494
495         * docs/faq/gtk-faq.sgm: Move file to here.
496           TODO: Update Makfile.am 
497
498 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
499
500         * docs/gtk-faq.sgm: Add Section 2
501
502 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
503
504         * docs/gtk-faq.sgm: New file. Start of DocBook
505           version of the FAQ.
506
507 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
508
509         * configure.in (GDK_PIXBUF_MAJOR): Define version
510         numbers for GDK_PIXBUF_*, as they get substituted
511         into a header file. Need to consider versioning
512         for gdk-pixbuf more carefully later.
513
514 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
515
516         Work with srcdir != builddir.   
517         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
518         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
519         * demos/testpixbuf.c: Likewise.
520         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
521         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
522         <gdk/x11/gdkx.h>.
523         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
524         "gdk-pixbuf.h".
525         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
526
527 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
528
529         * TODO.xml: Change 1.4 version numbers to 2.0.
530
531 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
532
533         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
534         fixups to GTK+ standard.
535
536 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
537
538         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
539         gdk-pixbuf.
540
541         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
542         fixups for GObject.
543
544         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
545         gdk-pixbuf with GDK dependencies moved into GDK.
546         
547         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
548         move gdk-pixbuf-loader here until GObject has signals.
549
550         * demos/: New directory of demos. Move demos from
551         gdk-pixbuf here.
552
553         * demos/pixbuf-init.c: Small bit of code to check for
554         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
555         set GDK_PIXBUF_MODULEDIR appropriately.
556
557         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
558         define which no longer makes sense.
559
560 2000-06-21  Havoc Pennington  <hp@redhat.com>
561
562         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
563         gtk_get_default_language
564
565         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
566         new function to get the default language
567
568         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
569         s/gtk_text_view_style_values/gtk_text_style_values/
570
571         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
572         Add a "language" field to tags.
573
574         (gtk_text_tag_set_arg): Fix bug in setting
575         "bg_full_height_set" tag.
576
577 2000-06-21  Havoc Pennington  <hp@redhat.com>
578
579         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
580         in the interfaces
581
582         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
583         stuff instead when possible.
584
585         * gtk/gtktexttypes.h: Delete some unused constants
586
587         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
588         testtextbuffer.c: use glib instead of custom unicode routines
589
590 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
591
592         * docs/es/: Removed mistakenly added generated sgml
593
594         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
595         Remove outdated info files.
596
597         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
598         Moved tutorial files into subdir
599
600         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
601         subdir.
602
603         * docs/man/gtk_button.pod: Remove. (contents will be
604         integrated into gtk-reference button page.)
605
606         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
607         docs/faq/Makefile.am: Adjust for new organization
608
609 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
610
611         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
612         not $(MKINSTALLDIRS)
613
614 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
615
616         * gtk/testgtk.c (create_text): Finish the job Elliot started
617         of removing font setting test for text widget. (Since text widget
618         and GdkFont are not deprecated, and cause portability problems.)
619
620 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
621
622         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
623         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
624         Remove use of libunicode in favor of new GLib functions.
625
626         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
627         nano-x, framebuffer. The X11 include is just a hack until we get
628         the necessary functions in gdkcolor.h, so there is no reason to
629         add other includes of platforms.
630
631         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
632         window bigger than the screen change.
633
634         * gtk/testgtk.c: Revert some random changes from Elliot
635         that had no particular point and were causing testgtkrc
636         not to function correctly.
637         
638         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
639         because GdkSegment and GdkRegionBox have the same fields,
640         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
641         results in clearer code.
642
643         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
644         gdk_input_translate_coordinates): Fix missed GdkObjectification
645
646 2000-06-18  Elliot Lee  <sopwith@redhat.com>
647
648         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
649         * gtk/gtk{plug,socket}.h: Missed commits from previous.
650
651 2000-06-20  Havoc Pennington  <hp@redhat.com>
652
653         * modules/linux-fb/Makefile.am: Make this compile
654         without framebuffer enabled
655
656         * gdk/linux-fb/Makefile.am: Add conditional to not build
657         framebuffer unless specified in configure
658
659         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
660         the size of the target instead of source if -1 was passed for
661         width/height
662
663         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
664         width/height confusion.
665
666 2000-06-19  Havoc Pennington  <hp@redhat.com>
667
668         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
669         GDK_DRAWABLE_XID. In the future, we probably want to make it
670         faster with G_DISABLE_CHECKS turned on.
671
672 2000-06-14  Havoc Pennington  <hp@redhat.com>
673
674         * gdk/Makefile.am: add gdkpixmap.c
675
676         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
677         s/gdk_image_init/_gdk_windowing_image_init
678
679         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
680         ref/unref
681
682         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
683
684         * gdk/gdkcompat.h: remove GdkWindowType compat, since
685         GdkWindowType is now non-deprecated; 
686         change gdk_window_get_type() compat to be
687         gdk_window_get_window_type().
688
689         * gdk/gdkdnd.h: make GdkDragContext a GObject.
690
691         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
692         virtual GObject. Make all functions call into the vtable.
693         Move gdk_image_put() guts in here. Remove GdkDrawableType
694         and gdk_drawable_get_type(), these are now GdkWindow-specific.
695         draw_image, get_depth, get_size, set_colormap, get_colormap,
696         get_visual added to the vtable.
697         
698         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
699         GObject. Virtualize everything. 
700         (gdk_gc_new_with_values): remove check for destroyed window,
701         because now GdkWindow::create_gc will check this.
702         (gdk_gc_set_values): New function to set GC values, this 
703         was already implemented but wasn't in the header
704
705         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
706
707         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
708         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
709         remove _gdk_window_class; add _gdk_window_impl_get_type() and
710         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
711         _gdk_windowing_window_init, rename gdk_image_init to
712         _gdk_windowing_image_init.
713         
714         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
715         (gdk_draw_layout): Remove check for destroyed window, 
716         because all the drawable methods already check it.
717         
718         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
719         Add gdkpixmap.c which contains implementation of GdkDrawable
720         virtual table (by chaining to a platform-specific implementation
721         object).
722         
723         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
724         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
725         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
726         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
727         GdkColormapPrivate. 
728
729         * gdk/gdktypes.h: #include <glib-object.h>
730
731         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
732         Move most functionality to platform-specific implementation
733         object. GdkWindow itself now handles the backing store, then
734         chains to the platform-specific implementation.
735         (gdk_window_get_window_type): return GdkWindowType of the window.
736         (gdk_window_peek_children): New routine, returns the children of 
737         a GdkWindow
738         (gdk_window_get_children): Was in X11-specific code and did 
739         XQueryTree. Changed to simply return a copy of window->children; 
740         so it can go in cross-platform code.
741         
742         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
743
744         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
745         GdkColormap; just changed to use the new private data instead
746         of casting to GdkColormapPrivate.
747
748         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
749         gdk_cursor_new().
750
751         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
752         (private data member in the GObject). 
753         (xdnd_manager_source_filter): Function had broken 
754         error handling, fix it (use gdk_error_trap_push).
755
756         * gdk/x11/gdkdrawable-x11.c: This file now implements
757         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
758         base class is purely for the convenience of the X port,
759         and not part of the interface to cross-platform GDK.
760
761         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
762         
763         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
764         specific to X, and returned by the create_gc virtual method
765         of GdkDrawableImplX11. 
766         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
767         rather than gchar, this was also changed in the GdkGC vtable.
768         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
769         mask is 0, return immediately, instead of checking every flag.
770         This is faster, and keeps us from segfaulting if values is NULL
771         and the mask contains some nonzero flags.
772
773         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
774         GdkWindow.
775
776         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
777         GdkWindowPrivate is gone.
778
779         * gdk/x11/gdkim-x11.c: rename things that got renamed.
780
781         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
782         remove the image_put stuff that got transferred to GdkDrawable.
783         
784         * gdk/x11/gdkinput.c: renamings
785
786         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
787
788         * gdk/x11/gdkpixmap-x11.c: GObject conversion
789
790         * gdk/x11/gdkprivate-x11.h: indentation fixes
791
792         * gdk/x11/gdkproperty-x11.c: renamings
793
794         * gdk/x11/gdkselection-x11.c: renamings
795
796         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
797         implements the platform-specific "impl" object.
798         Moved gdk_window_get_children to gdk/gdkwindow.c
799
800         * gdk/x11/gdkx.h: Remove all the private structs and private datas
801         that no longer exist. Add declaration of GdkGCX11 object here.
802         Fix all the macros to still work. 
803
804         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
805         GdkDragContext from the boxed types since they are now GObjects.
806
807         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
808         moved xthickness/ythickness into the instance. GtkStyleClass
809         functions are now in the standard vtable for GtkStyle, so you have
810         to create a GObject subclass to write a theme engine.
811         (gtk_style_copy): fixed a leaked PangoFontDescription
812         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
813         can be the standard GObject function.
814         
815         * Throughout GTK:
816         s/style->klass->[xy]thickness/style->[xy]thickness
817         s/pango_layout_unref/g_object_unref/
818
819         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
820         
821         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
822         accessing GDK internals.
823
824         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
825         accessing GDK internals.
826
827 2000-06-18  Elliot Lee  <sopwith@redhat.com>
828
829         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
830
831         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
832         problem by calculating event position relative to the trough
833         rather than the slider.
834         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
835
836         * gdk/gdkgc.h: Add GDK_NOR.
837
838         * configure.in, Makefile.am: Add modules top level dir
839         * configure.in: Only use pangox library if building x11 target.
840         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
841
842 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
843
844         * gtk/gtkcolorsel.c: Change private class member to be named
845         private_data throughout the file.
846
847         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
848         private_data to avoid clashing with keyword.
849
850 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
851
852         * gdk/gdkdnd.h: Add comment to remove warning.
853
854 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
855
856         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
857         Byelorussian language; changed the Makefile and file names 
858         to reflect that.
859
860 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
861
862         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
863         rather than gdk_window_hide; this makes things work
864         correctly if the window is programmatically hidden while
865         iconified.
866
867 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
868
869         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
870         cut and paste typo where wrong pixmap was being
871         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
872
873 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
874
875         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
876         Add helper function to compute format / bytes 
877         relationship. Use in a couple places to fix up
878         errors which assume 8 * format.
879
880         * gtk/gtkselection.c (gtk_selection_request): Use 32
881         rather than 8 * sizeof (GdkAtom), to work correctly
882         on Alpha.
883
884 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
885
886         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
887         libgtk.la
888         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
889         versions
890
891         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
892         checking macros return NULL since the function has a return value.
893
894 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
895
896         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
897         GTK+ from building at all.
898
899         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
900
901 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
902
903         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
904         gtk/Makefile.am: make it possible to configure gtk for different
905         targets on the same platform. The library name is now 
906         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
907         flag. Only the x11 target compiles right now.
908         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
909         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
910         * gdk/nanox/gdk*generic*: delete generic region code.
911         * gdk/linux-fb/gdk*generic*: delete generic region code.
912         * README.nanox: update information.
913         
914 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
915
916         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
917         prepend not append. (Pointed out by Brett Hall.)
918
919 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
920
921         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
922
923 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
924
925         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
926         need this later, and this makes sure that the atexit for
927         glib gets called after that for GDK, so atexits are
928         properly ordered for object leak checking.
929
930         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
931
932         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
933         pango_x_shutdown_display()
934
935         * gtk/simple.c (main): Close window on destroy.
936
937 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
938
939         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
940         to treat initial creation different from setting with 
941         regards to the graphics-exposures parameter, so add a parameter
942         indicating whether this is initial or not.
943
944 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
945
946         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
947         to sort of work by adding an extra return_exposes arg
948         to gdk_event_translate() - it might be better to simply
949         deprecate the function altogether and force people to rewrite
950         without it. gdk_window_scroll() handles most of it, and where
951         gdk_window_scroll() doesn't work, simply redrawing more does.
952
953         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
954         assertion.
955
956         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
957
958         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
959         bunch of pretty much useless /* Print debugging info */ comments 
960         which had drifted away from the code they were commenting.
961
962 2000-06-02  Havoc Pennington  <hp@pobox.com>
963
964         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
965         is in working order.
966         
967         * gtk/testtext.c: Change to reflect anonymous mark API
968
969         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
970
971         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
972         field, which was unused.
973
974         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
975         saves some typing.
976
977         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
978
979         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
980         flag on the insertion point and selection bound
981
982         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
983         make mark-manipulation functions take a GtkTextMark* instead of a
984         mark name.
985         
986         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
987         GtkTextMarkBody; will be used to detect attempts to delete
988         the permanent marks (insert and selection bound)
989
990         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
991
992 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
993
994         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
995         flag to on.
996
997         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
998         Honor DOUBLE_BUFFRED_FLAG
999
1000         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
1001         function to set the DOUBLE_BUFFERED flag.
1002
1003         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
1004         or not exposes done on the widget should be double-buffered.
1005
1006         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
1007         to be what would be expected. (Fixes problem with a
1008         g_return_if_fail() validating a TextDirection enumeration)
1009
1010 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
1011
1012         * gtk/gtkwidget.c: Remove all references to 
1013         offscreen flag which was no longer used.
1014
1015         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
1016
1017         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
1018         for non-null label_widget->parent.
1019
1020         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
1021         which no longer was used.
1022
1023         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
1024
1025         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
1026         for null arguments.
1027
1028         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
1029         check for destroyed windows.
1030
1031 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
1032
1033         * gtk/gtkimmulticontext.c: Add a finalize method and unref
1034         the slave context there.
1035
1036         * gtk/gtkinvisible.[ch]: Make reference counting behavior
1037         identical to GtkWindow.
1038
1039 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
1040
1041         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
1042         pangox to here, so we can write them independent of rendering
1043         system, using GDK primitives.
1044
1045         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
1046         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
1047         since we have a rendering-system independent implementation in
1048         terms of draw_glyphs().
1049         
1050         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
1051         function to render a single line.
1052
1053         * gdk/x11/gdkpango.c: Move the guts of this file mostly
1054         into ../gdkpango.c, which simplifies things, since we
1055         don't have to deal with raw X gc's.
1056
1057 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
1058
1059         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
1060         get the logical attributes for a given GtkTextLine.
1061
1062 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
1063
1064         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
1065         g_locale_get_codeset() to g_get_codeset() change.
1066
1067 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
1068
1069         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
1070         descriptions.
1071
1072         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
1073         the entry.
1074
1075         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
1076         redoing (vastly simplifying) for Pango. Still needs quite
1077         a bit of work. (Size selection is currently poor. List of 
1078         predefined sizes is not a good idea, since all of these
1079         sizes won't necessarily be distinct.)
1080
1081 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
1082
1083         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
1084         CODESET results for LANG=C.
1085
1086 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
1087
1088         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
1089         which takes a stringized pango font description;
1090         ignore the older 'font' and 'fontset' declarations.
1091
1092         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
1093         field with a GdkFont derived via gdk_font_from_description(),
1094         for compatibility. (Should we just remove it entirely?
1095         Probably too much compatibility breakage, but people
1096         should be migrating to the new Pango stuff as quickly
1097         as possible.)
1098
1099 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
1100
1101         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
1102
1103 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
1104
1105         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
1106         redoing; there are some bugs in size allocation right
1107         now, the semi-existant distinction between header / day
1108         fonts was removed, but, with Pango, could actually
1109         be made functional in a nice way.
1110         
1111         * gtk/testcalender: Move calender from examples into this
1112         directory as a test program. (We really need to restrcture
1113         testgtk into a whole directory full of tests for every
1114         widget or functionality group, separated into multiple .c
1115         files.)
1116
1117 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
1118
1119         * gtk/testgtk.c (file_exists): Fix stupid typo that
1120         was keeping RC file from being loaded.
1121
1122         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
1123         RC file font code.
1124
1125 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
1126
1127         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
1128         Add function to load a GdkFont from a PangoFontDescription.
1129
1130 2000-05-29  Tor Lillqvist  <tml@iki.fi>
1131
1132         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
1133         variable should be of type GdkEventPrivate.
1134
1135 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
1136
1137         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
1138         to have any widget for the label, use a GtkLabel widget
1139         to display the text. (Based partially on a patch from
1140         Anders Carlson.)
1141
1142         (Quite a bit of code reorganization - strip 90% of the
1143         guts out of gtkaspectframe and add a single virtual
1144         func to GtkFrameClass - compute_child_allocation.)
1145
1146 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
1147
1148         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
1149         (Removed clist->row_center_offset field because caching
1150         it wasn't saving time or code, added private function
1151         _gtk_clist_create_cell_layout()).
1152
1153 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
1154
1155         * gtk/gtkaccellabel.c: Pangoized.
1156
1157         * gtk/[hv]ruler.c: Pangoized
1158
1159 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
1160
1161         * gtk/gtkfilesel.c (gtk_file_selection_init):
1162         Use gtk_clist_set_column_auto_resize() to remove need
1163         need for manual column width computations.
1164
1165 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
1166
1167         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
1168         ensuring Pango correctness, and considerably simplifying the
1169         code.
1170         
1171         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
1172
1173         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
1174         getting of numbers of lines.
1175
1176         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
1177         to the actual requested width of the lable, not to the wrap
1178         width we set.
1179
1180         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
1181
1182         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
1183           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
1184
1185         * gtk/gtktextview.c: Fix structure inheritance.
1186
1187         * gtk/gtkprogressbar.c: Pangoize.
1188
1189 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
1190
1191         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
1192         in a function.
1193
1194         * gtk/gtktextlayout.c (find_display_line_above): Fixed
1195         bug with computing line tops.
1196
1197         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
1198
1199 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
1200
1201         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
1202         and y_offset coordinates to do what we need now. (The offset between
1203         buffer and layout coordinates has been reintroduced, but is a 
1204         bit different than before.)
1205
1206         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
1207         handle the adjustments ourselves, and scroll as necessary using
1208         the new gdk_window_scroll().
1209         
1210         The advantage of this is that when we are incrementally revalidating,
1211         we are essentially rearranging things around the visible portion
1212         of the screen. With the old setup, the visible portion of the
1213         screen was moved around in the layout, so scrolling and redrawing
1214         to track that caused jumping of the display. Since we now
1215         control the scrolling ourselves, we can suppress this and
1216         only redraw when things actually change.
1217
1218 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
1219
1220         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
1221         the region not just redisplay it after-all, since we store the
1222         cursors in the LineDisplay. (Ugly interactions here between
1223         GtkLayout and GtkTextBTree here.)
1224         
1225         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
1226
1227 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
1228
1229         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
1230         Added function to scroll contents of a window while keeping the
1231         window constant. Works by XCopyArea or guffaw-scrolling depending
1232         on the details of how the window is set up. (guffaw-scrolling
1233         still needs to be filled in.)
1234
1235 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
1236
1237         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
1238         move the debugging that was tied to a global variable
1239         to that.
1240
1241         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
1242
1243         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
1244         validated flag, in line data instead of setting height/width to
1245         -1. This allows us to perform operations with partially invalid
1246         buffer (using the old size for invalid lines) and thus to do
1247         incremental vaidation. Keep height/width aggregates up to date
1248         when deleting text and rebalancing the tree.
1249
1250         * gtk/gtktextbtree.[ch]: Add functions validate a line
1251         (gtk_text_btree_validate_line), and to validate up
1252         to a number of pixels (gtk_text_btree_validate).
1253
1254         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
1255         that indicates that something is changed and a revalidation
1256         pass is needed. Change ::need_repaint to ::changed, and
1257         make it take old and new yranges instead of a rectangle.
1258
1259         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
1260         the line_data_destroy() function from 
1261         gtk_text_btree_add_view() to a virtual function in 
1262         GtkTextLayout
1263
1264         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
1265         since we are handling partial repaints in a different fashion
1266         now.
1267
1268         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
1269         of the selection instead of queueing a repaint on the
1270         entire widget.
1271
1272         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
1273         get_selection_bounds() down to btree, make the function
1274         in buffer a wrapper around the btree function.
1275
1276         * gtk/gtktextlayout.[ch]: Add functions to check if the
1277         layout is valid and to recompute either a range of pixels
1278         aroudn a line or a certain total number of pixels.
1279
1280         * gtk/gtktextlayout.[ch]: Cache a single line display;
1281         now that we only redraw the needed portions, the hit rate
1282         for this cache is quite high.
1283         
1284         * gtk/gtktextview.[ch]: Keep track of the first paragraph
1285         on the screen so that when re-laying-out the buffer, we can
1286         keep the same place. This requires connecting to ::value_changed
1287         on the adjustments
1288
1289         * gtk/gtktextview.[ch]: Add idle functions to revalidate
1290         the buffer after we receive an ::invalidated signal.
1291         
1292 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
1293
1294         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
1295         to max of allocation and layout size, not just to the
1296         layout size.
1297
1298         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
1299         Invalidate window so it gets redrawn properly.
1300
1301         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
1302         to mean the entire window.
1303
1304         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
1305         into public header.
1306
1307 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
1308
1309         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
1310         to get the name of a mark.
1311
1312         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
1313         to find the paragraph from a y position.
1314
1315 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
1316
1317         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
1318         nodes have width/height >= 0, not > 0.
1319
1320 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
1321
1322         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
1323         Add a size_only flag, so when we only need the size, we don't create
1324         useless appearance attributes.
1325
1326         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
1327         duplicate setting of font description.
1328
1329         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
1330
1331 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
1332
1333         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
1334         EXTRA_DIST. It does not work well when the file that
1335         everything depends on is not in the tarball.
1336
1337 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
1338
1339         * gtk/testgtk.c: Some hacks and fixes so that it basically
1340         works when not sitting in the GTK+ build tree.
1341
1342 2000-05-03  Havoc Pennington  <hp@redhat.com>
1343
1344         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
1345         Properly determine the ordering of the tag root and the current
1346         line within the tree. Previous algorithm only worked if the tag
1347         root's immediate parent was the common root of both the current
1348         line and the tag root.
1349
1350 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
1351
1352         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
1353         alignment.
1354
1355         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
1356         the widget text directional dynamically.
1357
1358         * gtk/gtktextview.[ch]: Added functions to get and set default
1359         wrap mode.
1360
1361 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
1362
1363         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
1364         in cursor location computation.
1365
1366 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
1367
1368         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
1369         vadjusment values properly when layout gets smaller.
1370
1371         * gtk/gtktextview.c (need_repaint_handler): Areas being
1372         passed in are far completely inaccurate, and sometimes
1373         too small, so, for now, just queue a redraw on the
1374         whole visible region.
1375
1376 2000-04-25  Havoc Pennington  <hp@redhat.com>
1377
1378         * gtk/gtktextbtree.c (summary_destroy): new function to 
1379         destroy tag summary nodes
1380         (gtk_text_line_next_could_contain_tag): this function was 
1381         totally broken if the line passed in wasn't below the tag
1382         root. Fix it.
1383         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
1384         "wildcard" case, we have to do a linear scan. Blah.
1385         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
1386         we have to do the linear scan
1387         (tag_removed_cb): When a tag is removed from the tag table, 
1388         remove the GtkTextTagInfo node from the btree.
1389         (gtk_text_btree_spew): Implement the spew function, for 
1390         our debugging pleasure.
1391
1392 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
1393
1394         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
1395         a problem with referring to the wrong buffer.
1396
1397         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
1398
1399         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
1400         font description to gtk_style_new() - otherwise things
1401         don't work without a .gtkrc file.
1402
1403         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
1404         tags table if we create it ourself, too.
1405
1406         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
1407         it was conflicting with XKB modifiers.
1408
1409         * gtk/gtktextview.[ch]: Add simple support for 
1410         GtkIMContext.
1411
1412 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
1413
1414         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
1415         with deletion from last commit.
1416
1417 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
1418
1419         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
1420         in the context from the current locale.
1421         
1422         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
1423         context, not hardcoded value.
1424
1425         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
1426         not logical.
1427
1428 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
1429
1430         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
1431         attributes - that doesn't handle partial-glyph selection
1432         properly. Instead use new pango_layout_line_get_x_ranges()
1433         functionality to draw the selection.
1434
1435         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
1436         now properly handles out-of-range coordinates.
1437
1438         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
1439
1440         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
1441         public.
1442
1443         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
1444         for paragraphs opposite to the base direction of the widget.
1445
1446         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
1447
1448         * gtk/gtktextlayout.c: Don't split segments on marks, since that
1449         causes Arabic words to reshape as you cursor through.
1450
1451         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
1452         cursor position when moving vertically with the arrow keys and
1453         scrolling with page-up/page-down. (Arrow keys save only the X,
1454         scrolling saves both X and Y.)
1455
1456         This means you can line-up / line-down or page-up / page-down
1457         without losing your place, and also that moving vertically
1458         with the cursor keys keeps the same X position, not the same
1459         character count:
1460
1461         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
1462         arrow keys move by display lines, not paragraphs.
1463
1464 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
1465
1466         * gtk/gtklayout.c: Make sure that the bin window is at least
1467         as big as the allocation. (Should we also make sure that the
1468         bin window is big enough to completely cover widget->window?)
1469
1470         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
1471         function to get the onscreen rectangle.
1472
1473         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
1474         for offsets in window coordinates.
1475
1476 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
1477
1478         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
1479         confusion.
1480
1481         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
1482         from the widget direction.
1483
1484         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
1485         Add a "direction" attribute.
1486
1487         * gtk/gtktextview.c: global s/tkxt/text_view/.
1488
1489         * gtk/testtext.c: Added long block of text in Arabic, to test out
1490         the direction attributes. (Some problems with the shaping system
1491         for arabic become obvious - like the fact the cursor splits words
1492         into unjoined pieces.)
1493
1494 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
1495
1496         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
1497
1498         * gtk/gtktextlayout.c: Fix up alignment.
1499
1500         * gtk/testtext.c: Add some tests for centering, wrapping.
1501
1502 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
1503
1504         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
1505         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
1506         If we wrote GTK+-specific layout-render function this could just replace
1507         the draw_layout() operation in the vtable.
1508
1509         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
1510         pango_layout_get_cursor_pos() and use that function.
1511
1512         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
1513         is a non-static symbol.
1514
1515         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
1516         with gtk_text_btree_find_line_by_y()
1517
1518         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
1519         renderer that handles GtkTextAppearance attributes.
1520
1521         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
1522
1523           - Move the values in the style that don't affect geometry into a
1524             GtkTextAppearance structure.
1525           - Change underline to take a PangoUnderline and "font" a string
1526             representation of a font description
1527           - Add a "font_desc" attribute which takes a FontDescription structure.
1528
1529         * gtk/gtktextlayout.[ch]:
1530
1531           - Get rid of the display-line list per each line. Instead, we
1532             generate, on demand, a GtkTextLineDisplay structure which]
1533             contains a PangoLayout * and other necesary information
1534             (offsets, cursor locations) for displaying a paragraph.
1535           - Get rid of the code to wrap lines, create display chunks,
1536             etc. Instead, we just go through a paragraph and convert
1537             it into the necessary inputs to a PangoLayout.
1538           - Implement a new attribute type, GtkTextAttrAppearance. This
1539             holds a GtkTextAppearance, and is used to pass colors, 
1540             stipple, etc, through from the layout to the display without
1541             having to use lots and lots of individual attributes.
1542           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
1543             in terms of PangoLayout functions.
1544         
1545         * gtk/gtktextview.c: 
1546          
1547           - Handle passing the necessary PangoContext to the layout
1548           - Some fixups in painting to deal with the automatic backing store
1549             and offsetting of GTK+-1.4
1550           - Add a style_set handler so that the default style reacts
1551             properly to theme changes.
1552         
1553         * gtk/gtktext?*.[ch]: Random code-style fixes.
1554
1555         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
1556
1557 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
1558
1559         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
1560         in original form preparatory to Pango-ization and gdkimcontext-ization.
1561
1562 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
1563
1564         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
1565         so that we can derive from gtkimcontext in language bindings properly.
1566
1567 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
1568
1569         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
1570         Add a compose table including (almost) all the compose combinations
1571         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
1572         data in the XIM implementation.
1573
1574         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
1575         Moved functions to convert keyvalues from and to unicode here from
1576         the win32 port and made them public.
1577
1578 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
1579
1580         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
1581
1582 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
1583
1584         * gtk/gtkimcontext.[ch]: Base class for new input context system
1585
1586         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
1587         the real input context implementation to be loaded from modules
1588         and switched on the fly.
1589
1590         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
1591         context that just does direct keysymbol => unicode translation.
1592
1593         * gtk/gtkentry.[ch]: Start switching editing over to using
1594         GtkInputContext. (No handling of preedit yet.)
1595
1596 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
1597
1598         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
1599         many substitutions. (klass should not be subsituted.)
1600
1601 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
1602
1603         * configure.in: Add checks for Pango
1604
1605         * configure.in docs/Makefile.am: Add test for sgml2html
1606         and allow 'make dist' without building html, but print out
1607         warnings in that case. (For making snapshots)
1608
1609         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
1610         Add Pango libraries and C flags
1611
1612         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
1613         Add function (gdk_draw_layout) to draw a pango layout.
1614
1615         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
1616         for getting Pango contexts for GDK.
1617
1618         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
1619
1620         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
1621         editing.
1622
1623         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
1624         keysym => unicode translations. More languages can be added
1625         here, but real input-method support is needed.
1626
1627         * docs/Changes-1.4.txt: Added note about entry behavior.
1628         
1629         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
1630         to set the reading direction for a widget and the global direction.
1631         Add test which allows toggling the global direction. Two private
1632         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
1633
1634         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
1635           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
1636
1637         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
1638
1639         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
1640         underlining now handled by Pango.
1641
1642         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
1643         to RCStyle and Style. (Having both this and the old font name and GdkFont 
1644         is temporary.)
1645
1646         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
1647         convenience functions for creating contexts and layouts for widgets.
1648
1649         * gtk/testgtk.c: Enhance label tests with multilingual labels.
1650
1651 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
1652
1653         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
1654         titles to be active, even if they aren't visible.
1655         (gtk_clist_column_titles_passive):  Ditto.
1656
1657 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
1658
1659         * gtkmenu.c:
1660         * gtkmenu.h:
1661         * gtktypeutils.h: Spelling/grammar fixes in comments.
1662
1663 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
1664
1665         * gdk/nanox/*.h: add missing header files.
1666
1667 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
1668
1669         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
1670         send_event to TRUE.
1671         (gtk_drawing_area_size): queue a resize.
1672
1673 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
1674
1675         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
1676         the handlers, also invalidate them. bug nailed down by Karl Nelson
1677         <kenelson@ece.ucdavis.edu>.
1678
1679 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
1680
1681         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
1682         "(nil)" foundries, patch from Grigorios Magklis.
1683
1684         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
1685         on non-available fonts, based on a patch by Grigorios Magklis
1686         <maglis@cs.rochester.edu>.
1687
1688 2000-05-18  Elliot Lee  <sopwith@redhat.com>
1689
1690         * gdk/x11/gdkregion-generic.c: If a region does not have any
1691         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
1692         instead of GDK_OVERLAP_RECTANGLE_IN.
1693
1694 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
1695
1696         * gtk/gtklayout.c (gtk_layout_map): Remove references to
1697         OFFSCREEN, as it is no longer necessary.
1698
1699 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
1700
1701         * gtk/gtkcolorsel.c: Patch from David Santiago
1702         <mrcooger@cyberverse.com> to change things so that the 
1703         indicator of the active palette entry is done independently,
1704         not via the focus, since it should always be visible.
1705
1706 2000-05-17  Tor Lillqvist  <tml@iki.fi>
1707
1708         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
1709         refcount leaks as in the X11 backend.
1710
1711         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
1712         cosmetics.
1713
1714         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
1715         backend. Add _gdk_windowing_window_destroy().
1716
1717         * gtk/gtkcolorsel.c: Include correct backend-specific header.
1718         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
1719         either, but these probably do exist on nanox?)
1720         
1721         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
1722         which isn't necessarily defined by <math.h>.
1723
1724         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
1725         ancestry past GtkObject.
1726
1727         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
1728         from DLL on Win32.
1729
1730         * gtk/gtk.def: Update corresponding to recent changes.
1731
1732         * gtk/makefile.{cygwin,msc}: Updates.
1733
1734 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
1735
1736         * docs/Changes-1.4.txt: A bit of editing.
1737
1738         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
1739         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
1740         to clear the update area for the window, and clear it
1741         when hiding a window.
1742
1743         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
1744         if window destroyed.
1745
1746         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
1747
1748         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
1749         gdk_window_destroy() to the generic code, since there was a lot of 
1750         window-system-independent logic it in. Add a function:
1751         
1752          _gdk_window_destroy() 
1753
1754         to the internal API to destroy a window without unreferencing it.
1755         Add a function:
1756
1757          _gdk_windowing_window_destroy()
1758
1759         That does the windowing-system-dependent part of destroying 
1760         the window.
1761
1762 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
1763
1764         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
1765
1766 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
1767
1768         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
1769         Make gtk_widget_shape_combine_mask() keep a reference count on
1770         the pixmap since it keeps it around.
1771
1772 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
1773
1774         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
1775         leak.
1776
1777         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
1778         leak with event filters.
1779
1780 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
1781
1782         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
1783         signal handlers with the right data arguments. (Fixes
1784         some warnings when a widget was repeatedly set as a drag
1785         destination.)
1786
1787         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
1788         window so we can avoid avoid setting the DND properties on the
1789         toplevel window repeatedly.
1790
1791 2000-05-13  Tor Lillqvist  <tml@iki.fi>
1792
1793         * gdk/win32/gdkwin32.h: Define more message types missing from
1794         mingw headers.
1795
1796         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
1797         call gdk_window_destroy_notify(). It was never called. This
1798         probably meant that the GdkWindow was never freed. Thanks Owen for
1799         noticing (!).
1800
1801         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
1802         window as destroyed before calling DestroyWindow(). DestroyWindow()
1803         causes a call to the window procedure (gdk_WindowProc), which
1804         calls gdk_event_translate(), which calls
1805         gdk_window_destroy_notify(), which gets confused unless the window
1806         is set as destroyed.
1807
1808         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
1809         this function to indicate it's win32 only. Put inside #ifdef
1810         G_ENABLE_DEBUG.
1811
1812         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
1813         debugging function. (gdk_event_translate:) Add a default branch
1814         that uses the above function to print debug messages with all
1815         Windows messages symbolically.
1816
1817         * gdk/win32/gdkprivate-win32.h: Declare it, and
1818         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
1819
1820 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
1821
1822         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
1823         public header file.
1824
1825 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
1826
1827         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
1828
1829         * gtk/gtktext.c: made the adjustments no-construct args, simply
1830         provide default adjustments.
1831         (gtk_text_destroy): release adjustments.
1832
1833         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
1834         adjustment argument non-construct.
1835
1836         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
1837         instead of in finalize.
1838         (gtk_progress_get_text_from_value): 
1839         (gtk_progress_get_current_text): 
1840         (gtk_progress_set_value): 
1841         (gtk_progress_get_percentage_from_value): 
1842         (gtk_progress_get_current_percentage): 
1843         (gtk_progress_set_percentage): 
1844         (gtk_progress_configure): ensure an adjustment is present.
1845
1846 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
1847
1848         * gtk/gtkcolorsel.[hc]:
1849         * gtk/gtkcolorseldialog.[hc]:
1850         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
1851         their parent implementation, use bit fields for boolean values, don't
1852         create unused widgets, usage of glib types, braces go on their own
1853         lines, function argument alignment, #include directives etc. etc. etc..
1854
1855         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
1856
1857 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
1858
1859         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
1860
1861         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
1862         of NULL.
1863
1864         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
1865         to freed data.
1866         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
1867
1868         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
1869         to NULL when the toplevel is getting destroyed.
1870         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
1871         (gtk_menu_destroy): 
1872         (gtk_menu_init): store the information of whether we have to
1873         readd the initial child ref_count during destruction in a new
1874         GtkMenu field needs_destruction_ref_count.
1875
1876         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
1877         here, those reading: learn from my mistake! ;)
1878         in order for set_?adjustment to support a default adjustemnt if
1879         invoked with an adjustment pointer of NULL, the code read (pseudo):
1880         if (v->adjustment) unref (v->adjustment);
1881         if (!adjustment) adjustment = adjustment_new ();
1882         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
1883         now imagine the first unref to actually free the old adjustment and
1884         adjustment_new() creating a new adjustment from the very same memory
1885         portion. here, the latter comparision will unintendedly fail, and
1886         all hell breaks loose.
1887         (gtk_viewport_set_hadjustment):
1888         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
1889         after unreferencing it.
1890
1891         * gtk/gtkcontainer.[hc]: removed toplevel registration
1892         functions: gtk_container_register_toplevel(),
1893         gtk_container_unregister_toplevel() and
1894         gtk_container_get_toplevels() which had wrong semantics
1895         anyways: it didn't reference and copy the list.
1896
1897         * gtk/gtkwindow.c: we take over the container toplevel registration
1898         bussiness now. windows are registered across multiple destructions,
1899         untill they are finalized. the initial implicit reference count
1900         users are holding on windows is removed with the first destruction
1901         though.
1902         (gtk_window_init): ref & sink and set has_user_ref_count, got
1903         rid of gtk_container_register_toplevel() call. add window to
1904         toplevel_list.
1905         (gtk_window_destroy): unref the window if has_user_ref_count
1906         is still set, got rid of call to
1907         gtk_container_unregister_toplevel().
1908         (gtk_window_finalize): remove window from toplevel list.
1909         (gtk_window_list_toplevels): new function to return a newly
1910         created list with referenced toplevels.
1911         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
1912
1913         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
1914         adjustment a non-construct arg.
1915         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
1916         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
1917         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
1918
1919         * gtk/gtkrange.c: added some realized checks.
1920         (gtk_range_destroy): get rid of the h/v adjustments in the
1921         destroy handler instead of finalize. remove timer.
1922         (gtk_range_get_adjustment): demand create adjustment.
1923
1924         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
1925         we simply create them on demand now and get rid of them in
1926         the destroy handler.
1927         (gtk_viewport_destroy): get rid of the h/v adjustments in the
1928         destroy handler instead of finalize.
1929         (gtk_viewport_get_hadjustment): 
1930         (gtk_viewport_get_vadjustment): 
1931         (gtk_viewport_size_allocate): demand create h/v adjustment
1932         if required.
1933
1934         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
1935         gtk_widget_real_destroy () functionality.
1936         (gtk_widget_real_destroy): reinitialize with a new style, instead
1937         of setting widget->style to NULL.
1938
1939 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
1940
1941         * gtk/gtkcalendar.c:
1942         * gtk/gtkbutton.c: ported _get_type() implementation over to
1943         GType, either to preserve memchunks allocation facilities,
1944         or because Gtk+ 1.0 GtkTypeInfo was still being used.
1945
1946         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
1947         over. prepare for ::destroy to be emitted multiple times.
1948         removed reference tracer magic. chain into GObjectClass.shutdown()
1949         to emit ::destroy signal.
1950
1951         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
1952         fundamental.
1953
1954         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
1955         cludge.
1956
1957         * gtk/gtksocket.c:
1958         * gtk/gtkplug.c:
1959         * gtk/gtklayout.c:
1960         * gtk/gtklabel.c:
1961         * gtk/gtkargcollector.c:
1962         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
1963         not being a fundamental anymore, and to work with the new
1964         type system (nuked fundamental type varargs clutter).
1965
1966         * gtk/*.c: install finalize handlers in the GObjectClass
1967         part of the class structure.
1968         changed direct GTK_OBJECT()->klass accesses to
1969         GTK_*_GET_CLASS().
1970         changed direct object_class->type accesses to GTK_CLASS_TYPE().
1971
1972         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
1973         GType. made most of the GTK_*() type macros and Gtk* typedefs
1974         simple wrappers around macros and types provided by GType.
1975         most notably, a significant portion of the old API vanished:
1976         GTK_TYPE_MAKE(),
1977         GTK_TYPE_SEQNO(),
1978         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
1979         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
1980         GTK_TYPE_ARGS,
1981         GTK_TYPE_CALLBACK,
1982         GTK_TYPE_C_CALLBACK,
1983         GTK_TYPE_FOREIGN,
1984         GtkTypeQuery,
1985         gtk_type_query(),
1986         gtk_type_set_varargs_type(),
1987         gtk_type_get_varargs_type(),
1988         gtk_type_check_object_cast(),
1989         gtk_type_check_class_cast(),
1990         gtk_type_describe_tree(),
1991         gtk_type_describe_heritage(),
1992         gtk_type_free(),
1993         gtk_type_children_types(),
1994         gtk_type_set_chunk_alloc(),
1995         gtk_type_register_enum(),
1996         gtk_type_register_flags(),
1997         gtk_type_parent_class().
1998         replacements, where available are described in ../docs/Changes-1.4.txt.
1999         implemented compatibility functions for the remaining API.
2000
2001         * configure.in: depend on glib 1.3.1, use gobject module.
2002
2003 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
2004
2005         * TODO.xml: Various updates to current status.
2006
2007 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
2008
2009         * gtk.m4: Print out version when test succeeds.
2010
2011 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
2012
2013         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
2014         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
2015         
2016         (Original triangle color selector from Simon Budig
2017         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
2018         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
2019         Santiago <mrcooger@cyberverse.com>)
2020
2021         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
2022         out into a separate widget.
2023
2024         * gtk/testgtk.c: Add some checkbuttons for toggling palette
2025         and opacity controls.
2026
2027 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
2028
2029         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
2030         snuck in prematurely.
2031
2032 2000-05-07  Tor Lillqvist  <tml@iki.fi>
2033
2034         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
2035         had deleted a ! operator by mistake, which caused
2036         GDK_SELECTION_CLEAR events never to be generated, which caused
2037         only the first copy to the clipboard from an gtkeditable to
2038         actually cause a copy to the Windows clipboard.
2039
2040 2000-05-06  Tor Lillqvist  <tml@iki.fi>
2041
2042         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
2043         compilation, too. Current mingw gcc distributions include the
2044         necessary headers. Also the necessary IIDs are now in mingw
2045         headers/libraries, and own definitions unnecessary.
2046
2047         More hacking on OLE2 DND, still doesn't work though, and thus
2048         ifdeffed out.
2049
2050         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
2051         here, too.
2052
2053 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
2054
2055         * gdk/nanox/*: nano-X port work in progress.
2056         * gdk/simple.c: simple test for Gdk.
2057         * README.nanox: notes about the port: read this first!
2058         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
2059         with nano-X.
2060
2061 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
2062
2063         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
2064         gdk_window_clear() into common code, implement in terms of
2065         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
2066         not redirected to the backing rectangle.
2067
2068 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
2069
2070         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
2071         EXTRA_DIST. It does not work well when the file that
2072         everything depends on is not in the tarball.
2073
2074 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
2075
2076         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
2077         with recursion where process_updates() is called from
2078         an expose handler. (GtkTextView is highly broken in
2079         doing this, but it should work, so it is a nice test
2080         case.)
2081
2082 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
2083
2084         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
2085         handle the case where updates are queued during processing of
2086         updates.
2087
2088 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
2089
2090         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
2091         window is on gdk_display - use that instead of segfaulting.
2092
2093 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
2094
2095         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
2096         broken and require an empty arg, give it to them.
2097
2098 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
2099
2100         * gtk/gtklabel.h: indentation fixes.
2101
2102 2000-05-02  Tor Lillqvist  <tml@iki.fi>
2103
2104         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
2105         draw too narrow or too low arcs, they seem to fail, at least with
2106         some display drivers.
2107
2108         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
2109
2110         Large changes to the Win32 backend, partially made necessary by
2111         the changes to the backend-independent internal
2112         structures. Attempts to implement similar backing store stuff as
2113         on X11. The current (CVS) version of the Win32 backend is *not* as
2114         stable as it was before the no-flicker branch was merged. A
2115         zipfile with that version is available from
2116         http://www.gimp.org/win32/. That should be use by "production"
2117         code until this CVS version is usable. (But note, the Win32
2118         backend has never been claimed to be "production quality".)
2119
2120         * README.win32: Add the above comment about versions.
2121
2122         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
2123
2124         * gdk/gdk.def: Update.
2125
2126         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
2127         presumably be replaced by some more better mechanism as 1.4 gets
2128         closer to release shape.
2129
2130         * gdk/makefile.{cygwin,msc}: Update.
2131
2132         * gdk/win32/*.c: Correct inclusions of the backend-specific and
2133         internal headers. Change code according to changes in these. Use
2134         gdk_drawable_*, not gdk_window_* where necessary.
2135
2136         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
2137         our old DND.
2138
2139         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
2140         to interpret single characters as UTF-8. Thanks to Hans Breuer.
2141         Use correct function name in warning messages.
2142
2143         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
2144         GSourceFuncs gdk_event_prepare and gdk_event_check.
2145         (gdk_event_get_graphics_expose): Do implement, use
2146         PeekMessage. Thanks to Hans Breuer.
2147         (event_mask_string): Debugging function to print an GdkEventMask.
2148         (gdk_pointer_grab): Use it.
2149
2150         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
2151         (old) book I used claimed was Hangul actually is CJK Unified
2152         Ideographs Extension A. Also, Hangul Syllables were missing.
2153         Improve logging.
2154
2155         * gdk/win32/gdkgc-win32.c: Largish changes.
2156
2157         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
2158         g_win32_getlocale() from GLib, and not setlocale() to get current
2159         locale name.
2160
2161         * gdk/win32/gdkprivate-win32.h
2162         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
2163         gdkwin32.h, similarily as in the X11 backend.
2164
2165         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
2166         assignment was used instead of equals in if test. Thanks to Hans
2167         Breuer.
2168
2169         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
2170         the X11 version.
2171
2172         * gdk/win32/makefile.{cygwin,msc}
2173         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
2174         path to the Win32 headers that works also with the mingw compiler.
2175
2176         * gtk/gtkstyle.c: Include <string.h>.
2177
2178 2000-04-26  Havoc Pennington  <hp@redhat.com>
2179
2180         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
2181         replacing the broken gtk_label_get ()
2182
2183 2000-04-15  Havoc Pennington  <hp@pobox.com>
2184
2185         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
2186         this keeps scanner scripts from getting confused.
2187
2188         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
2189         data, rather than void
2190
2191 2000-04-15  Tor Lillqvist  <tml@iki.fi>
2192
2193         * gtk/gtkclist.c (gtk_clist_motion)
2194         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
2195         with is_hint FALSE, get x and y from the event. They used to be
2196         used uninitialised. The Win32 backend never sends motion events
2197         marked as hints. This for instance fixes the annoying file and
2198         font selector behaviour in the Win32 version.
2199
2200 2000-04-14  Tor Lillqvist  <tml@iki.fi>
2201
2202         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
2203         gtk_private_n_signals variables, they are used by some software,
2204         sigh.
2205
2206         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
2207         installation directory from the Registry, where the installer
2208         should have put it.
2209
2210 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
2211
2212         * gdk/x11/Makefile.am: Fix problem with installation directory for
2213         gdkx.h
2214
2215         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
2216         <mrcooger@cyberverse.com> so that when selecting menus with the
2217         mouse, the first item will not be selected, but when selecting
2218         with an accelerator, or navigating left-right on a menubar with
2219         the menus popped up, the first item will be selected.
2220
2221 2000-04-05  Dan Damian  <dand@dnttm.ro>
2222
2223         * configure.in: Added "ro" to ALL_LINGUAS.
2224
2225 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
2226
2227         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
2228         indentation.
2229
2230         * Makefile.am (EXTRA_DIST): Fix typo.
2231
2232         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
2233         to catch gdkconfig.h
2234
2235         * gtk/gtkitemfactory.c: Added FIXME.
2236
2237 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
2238
2239         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
2240         s/return_if_fail/return_val_if_fail/g and add a return value.
2241
2242 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
2243
2244         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
2245         merge slipup.
2246
2247         * gdk/gdkinput.h: Fix missing line from merge.
2248
2249 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
2250
2251         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
2252         instead of gdkprivate.h.
2253
2254 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
2255
2256         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
2257         parent class to correctly be GtkDialogClass.
2258
2259 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
2260
2261         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
2262         toplevel windows and their immediate children by their parents,
2263         since the size of toplevel windows is out of our immediate
2264         control and we don't get any real benefit from trying to track
2265         this size for clipping.
2266
2267         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
2268         for input_only windows.
2269
2270         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
2271         to fix some hacks and make sure that we don't try to set the
2272         background of input only windows.
2273
2274 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
2275
2276         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
2277         the _really_ internal stuff, and leave gdkprivate.h for the fake private
2278         stuff that we've traditionally exposed.
2279
2280         * gdk/**.c: Use gdkinternals.h where appropriate.
2281
2282         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
2283         not include gdkprivate-x11.h, move all stuff of conceivable public
2284         interest into gdkx.h; keep all really private stuff in
2285         uninstalled header gdkprivate-x11.h.
2286
2287         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
2288         image->image_put on windows through a new function _gdk_window_draw_image()
2289         to allow us to do backing store for images. (Sort of ugly)
2290
2291         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
2292         contexts locally so that we can offset them properly when drawing 
2293         onto backing pixmaps.
2294
2295         * gdk/gdkinput.h: Reindented
2296
2297         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
2298         pixmap or color for the window, so we can properly initialize
2299         our double-buffer pixmaps, and also so that we temporarily set
2300         a background of None while scrolling.
2301
2302         * gdk/gdkregion.h: Revise region boolean operators to have an
2303         interface that is actually convenient - switch from creating new
2304         regions on every op, to "methods" that modify existing regions
2305         (A = A OP B). 3 argument forms which allow dest == src, would also
2306         be possible, but the current interfaces seem to map nicely
2307         onto what needs to be done. (There is quite a lot of region
2308         code in GDK now.)
2309
2310         * gdk/gdkregion.h: Add constructor from rectangle and a copy
2311         operator.
2312
2313         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
2314         gdkpoly-generic.h: Copy region code from Xlib, switch it over
2315         to 32 bit coordinates, modify it to be mostly GTK+ style
2316         and to have interfaces that match gdkregion.h.
2317
2318         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
2319         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
2320         create a backing pixmap and redirect all drawing to
2321         that backing pixmap until a matching gdk_window_end_paint().
2322
2323         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
2324         Create a special drawable class for GtkWindow's that 
2325         redirects the drawing to the backing pixmap as necessary
2326         and then calls the real operations in _gdk_windowing_window_class.
2327
2328         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
2329         Store invalid region for each window. Generate expose events for invalid
2330         region in an idle. This replaces both the expose compression
2331         and the redrawing queuing in GTK+. It is both more efficient and
2332         simpler than either one individually and far more so then the
2333         combination.
2334
2335         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
2336         Emulate 32 bit coordinates for windows with 16 bit coordinates
2337         by offsetting drawing, guffaw scrolling techniques and
2338         mapping/unmapping child windows as necessary.
2339
2340         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
2341         where, when invalid regions are processed, the region is stored,
2342         and if expose events come in that are detectably duplicate
2343         the processed exposes (by comparison of event serial numbers),
2344         the stored region is subtracted out of those exposes.
2345
2346         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
2347         regions newly exposed when scrolling or resizing windows.
2348         This, combined with forcing processesing of queued invalidated
2349         regions, gives nice flicker-free scrolling.
2350
2351         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
2352         invalidated regions after every scroll.
2353
2354         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
2355         emulation in GDK. Its, for all practical purposes just a
2356         GtkViewport/GtkFixed hybrid now.
2357
2358         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
2359         (16-bit) structures as necessary instead of just casting.
2360
2361         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
2362         in terms of the structures from gdkregion-generic.c, using appropriate
2363         offsets from GDK to X11 coordinates. Cache clip mask and
2364         origin and ts origin locally and only flush to the server
2365         when drawing, to avoid constantly setting and resetting these
2366         values when offsetting GC's for scrolling and backing pixmaps.
2367
2368         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
2369
2370         * gtk/gtkcontainer.c: Call process_all_updates at end
2371         of resizing to reduce flicker. (Avoids having redraw
2372         lag arbitrarily behind resize under some circumstances)
2373
2374         * gtk/gtkentry.c: Remove old backing store code, and simply take
2375         advantage of the new backing store capabilities of GDK.
2376
2377         * gtk/gtkmain.c: Simple implementation of widget backing
2378         store - simply push a paint while handling each expose.
2379         (Should really be configurable widget for widget.)
2380         
2381         * gtk/gtkwidget.c: Remove all the old complicated redraw
2382         code, and simply invalidate the GDK windows from
2383         gdk_window_queue_clear(), etc. (Sigh, so much carefully
2384         debugged complexity ... gone to the winds.)
2385
2386         Remove all the code for suppressing expose events while
2387         resizes are pending; this isn't needed since the invalid
2388         areas won't be processed until after the resizes are
2389         processed, since they are in a lower priority idle.
2390
2391 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
2392
2393         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
2394         and height of dest rectangle for non-intersecting rectangles.
2395
2396 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
2397
2398         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
2399         for GdkRectangle.
2400
2401 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
2402
2403         * gdk/gdk{events,image,private,types,window}.h
2404          gdk/x11/gdkinputprivate.h: Change all coordinates
2405          from int16 to int. Also, Change width and height from
2406          unsigned to signed to avoid all the stupid C 
2407          signedness bugs.
2408
2409 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
2410
2411         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
2412         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
2413         Add some more detailed checking.
2414
2415         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
2416         New function to retrieve the depth of a drawable.
2417
2418         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
2419         field, reorder fields to save memory. 
2420
2421 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
2422
2423         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
2424         of the background image instead of scaling the background down to
2425         a line.
2426
2427         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
2428         which temporarily set slider to wrong size.
2429
2430         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
2431         queue_clear().
2432
2433 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
2434
2435 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
2436
2437         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
2438
2439 2000-03-17  Tor Lillqvist  <tml@iki.fi>
2440
2441         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
2442         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
2443
2444         * gdk/win32/gdkfont-win32.c
2445         * gdk/win32/gdkproperty-win32.c
2446         * gdk/win32/gdkselection-win32.c
2447         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
2448         now declared such.
2449
2450 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
2451
2452         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
2453
2454 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
2455
2456         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
2457         is called without trapping X errors.
2458
2459 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
2460
2461         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
2462         way into the fontset lists.
2463
2464 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
2465
2466         * gtk/gtkthemes.h: add extern "C" scope.
2467
2468 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
2469
2470         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
2471         to make appends to the list constant. (gtk-guy-990901-0.patch)
2472
2473 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
2474
2475         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
2476         for the typename hash table.
2477
2478 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
2479
2480         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
2481         to make sure we never divide by zero. 
2482         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
2483
2484 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
2485
2486         * gtk/gtkfontsel.c: Apply patch from
2487         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
2488         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
2489
2490         Also, some cleanups in atom handling.
2491
2492 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
2493
2494         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
2495         not GtkWidget.
2496
2497 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
2498
2499         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
2500         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
2501         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
2502         more guint wrap-around bugs before going to bed.
2503
2504 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
2505
2506         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
2507         guint wrap arounds in allocation.width.
2508
2509         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
2510         process untill we fit the allocation given.
2511
2512 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
2513
2514         * gtk/gtkwidget.c:
2515         (gtk_widget_unrealize): guard widget access with ref/unref
2516         around signal emission.
2517         (gtk_widget_hide): same here, but also check its destroyed
2518         state before queueing a resize.
2519
2520 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
2521
2522         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
2523         of gtk_default_insensitive_bg as insensitive base color.
2524
2525         * gtk/gtktext.c (gtk_text_style_set): set the background color according
2526         to the widget's state.
2527         (gtk_text_realize): same here.
2528         (gtk_text_state_changed): same here.
2529         (draw_bg_rect): compare background color against base[] from
2530         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
2531
2532 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
2533
2534         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
2535         grabs are active, unless a delete event is send to the toplevel
2536         of the currently grab holding widget.
2537
2538 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
2539
2540         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
2541         debugging g_print's.
2542
2543 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
2544
2545         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
2546         ever make the scrolled-window requisition ever depend on the 
2547         visibility state of the scrollbars for the AUTOMATIC policy. 
2548         This breaks the GTK+ requisition model, and causes loops.
2549
2550 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
2551
2552         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
2553         the default font to avoid problems with XFree86-4.0 where the
2554         default charset is iso10646-1, not iso8859-1.
2555
2556 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
2557
2558         * acinclude.m4
2559         * config.guess
2560         * config.sub
2561         * ltconfig
2562         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
2563
2564         * gtk/Makefile.am: minor cosmetic consistency tweak
2565
2566 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
2567
2568         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
2569         the activate_time to 0, so that we handle a quick
2570         press/release press/release properly and don't suppress
2571         the second release. (Red Hat bug #7545)
2572
2573 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
2574
2575         * gtk/gtkctree.c (row_delete):
2576         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
2577         bugs with destruction notifier, *always* update internal
2578         structures *before* calling user code.
2579
2580 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
2581
2582         A few more fixes for bug #5487, #2051, #2677.
2583         * gtk/gtkclist.c : 
2584         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
2585         not GDK_BUTTON_PRESS.
2586         (resync_selection): resync only if selection_mode is
2587         GTK_SELECTION_EXTENDED
2588         * gtk/gtkctree.c (resync_selection): same here
2589
2590 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
2591
2592         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
2593         gdk_drag_get_selection() and gtk_menu_detach().
2594
2595         [ From Jeroen Ruigrok/Asmodai ]
2596
2597 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
2598
2599         * gtk/gtknotebook.c (gtk_notebook_size_request): 
2600         page->tab_label can be NULL.
2601
2602 2000-01-25  Havoc Pennington  <hp@pobox.com>
2603         
2604         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
2605         arg is boolean
2606
2607         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
2608
2609         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
2610
2611         * gdk/gdkproperty.c (gdk_property_get): return boolean
2612
2613         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
2614
2615         * gdk/gdkim.c (gdk_im_ready): return boolean
2616
2617         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
2618
2619         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
2620         glib clash, should fix glib)
2621
2622         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
2623         (gdk_get_show_events): return gboolean, and canonicalize 
2624         to TRUE/FALSE
2625
2626         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
2627         colormap is private
2628         (gdk_colors_alloc): gboolean whether to be contiguous
2629         (gdk_color_equal): return gboolean since we are a predicate
2630         and not a qsort() (this looks semi-wrong due to glib breakage,
2631         IMO glib should be fixed)
2632         
2633         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
2634         (gdk_get_use_xshm): return gboolean
2635         (gdk_pointer_is_grabbed): return gboolean
2636
2637         * gdk/gdk.h: Change prototypes to match all the above changes,
2638         and re-run egtk-format-protos as required.
2639
2640 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
2641
2642         * gtk/gtkctree.c (resync_selection): 
2643         * gtk/gtkclist.c (resync_selection):
2644
2645         Return immediately if clist->drag_pos < 0. This is a workaround
2646         for the corrupt state that the clist gets into when a
2647         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
2648
2649         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
2650         
2651         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
2652         variable from recent commit.
2653
2654 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
2655
2656         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
2657
2658 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
2659
2660         * gtk/Makefile.am: prefix all autogenerated source that get build in
2661         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
2662         in builddir. since we subsequently cd into srcdir for autogeneration,
2663         the paths have to be stripped from the target file names, thusly we
2664         use $(@F) as target names now.
2665         put a comment about configure.in's --disable-rebuilds option,
2666         which can be used for non-writable source directories, for development
2667         setups though, srcdir has to be *writable*.
2668
2669 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
2670
2671         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
2672           Finish the job of allowing event to be NULL.
2673           (Fixes bug #4283, reported by Chris Blizzard)
2674
2675         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
2676           things so that the cursor appears on screen, properly
2677           take into account INNER_BORDER.
2678           (Fixes bug #4754, reported by Antonio Campos)
2679
2680 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
2681
2682         * gtk/gtknotebook.c (gtk_notebook_map): Don't
2683           show the tab_label unless it itself is visible.
2684
2685           gtk/gtknotebook.c (gtk_notebook_size_request):
2686           Do a better job of making sure that the visibility
2687           of the tab label corresponds to whether it should
2688           be mapped or not.
2689
2690 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
2691
2692         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
2693           Use the requisition, not the allocation, since the
2694           allocation has not necessarily been computed yet.
2695           (Pointed out by Eugene Osintsev)
2696
2697 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
2698
2699         * gtk/gtkstyle.c (gtk_style_new): Dont' set
2700           style/base[GTK_STATE_INSENSITIVE] both to
2701           gtk_default_insensitive_bg!
2702           (Bug #2187, reported by Jonathan Blandford)
2703
2704         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
2705           Add Alt_L, Alt_R to list of invalid accelerators.
2706           (Bug #3736, reported by Vlad Harchev)
2707
2708 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
2709
2710         * gtk/gtkfilesel.c (open_ref_dir): Fix several
2711         bugs which occured after an attempt to open 
2712         invalid home directory left cmpl_state->reference_dir == NULL.
2713
2714          - completion on files in home directory didn't work
2715          - completion on an empty string caused  segfault
2716
2717          (Bug #3768, reported by Steve Ratcliffe)
2718
2719         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
2720         cut and paste error that was causing scales to
2721         be incorrectly positioned.
2722         (Bug #2956,
2723          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
2724
2725 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
2726
2727         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
2728         when checking for dcgettext, if we've found we needed
2729         it for dgettext.
2730 +
2731 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
2732
2733         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
2734         queue_clear on NO_WINDOW widgets during a reparent,
2735         since at that point the window and widget heirarchies
2736         are out of sync. This stops crashing in some cases
2737         (the scrolled window reparent test, for instance), and
2738         _probably_ won't cause drawing errors.
2739
2740         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
2741         test do what it was supposed to do and be robust against
2742         window closings, etc. (Bug #2443)
2743
2744 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
2745
2746         * gtk/gtkentry.c: Fix return values on mouse events.
2747         (Bug #2686, Sky <seb_sky@yahoo.com>)
2748
2749         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
2750         (pointed out by George Lebl)
2751
2752         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
2753         (From Ettore Perazzoli  <ettore@helixcode.com>)
2754  
2755 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
2756
2757         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
2758         clicks between rows or outside calender area correctly.
2759         (Patch from Damon Chaplin)
2760
2761         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
2762         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
2763           Call destroy function when overwriting existing data. 
2764           (Pointed out by Damon Chaplin)
2765
2766 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
2767
2768         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
2769           which was causing problems on various systems with Xmu.
2770           This hasn't been needed for a very long time.
2771           (Fixes #1185 3167)
2772
2773 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
2774
2775         * gdk/gdki18n.h: Include <ctype.h> when defining
2776           gdk_isw* in terms of is* as a fallback.
2777           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
2778
2779 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
2780
2781         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
2782           realize the widget when it is size allocated!
2783           (old, old bug)
2784
2785         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
2786           Removed unused call to gdk_window_get_size() that
2787           showed up when the above was fixed.
2788
2789 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
2790
2791         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
2792           fix up widget->window when the widget is a
2793           NO_WINDOW container widget.
2794
2795 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
2796
2797         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
2798           to account for the fact that feof() does _not_ 
2799           return TRUE on errors, and thus avoid infinite loops
2800           when trying to use gdk_pixmap_create_from_xpm()
2801           on unreadable values.
2802
2803 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
2804
2805         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
2806
2807 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
2808
2809         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
2810           gdk_gc_set_dashes to take gint8 instead of gchar to
2811           make it clearer that it is _not_ a NULL terminated string.
2812
2813         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
2814           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
2815           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
2816           arguments.
2817
2818 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
2819
2820         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
2821         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
2822         background size relative to our allocation, guard against small
2823         allocations, we may have not yet been size allocated.
2824
2825 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
2826
2827         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
2828         not just version == 3. We implement all 3 + most of 4 - 
2829         (we don't support matching text/plain;charset=iso-8859-1
2830         to a dest that expects text/plain). We'll still advertise
2831         3 to be safe, but any client implementing version >= 3
2832         must interoperate with 3.
2833         
2834 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
2835
2836         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
2837         background and gc members, add a warning in gtk_tooltips_set_color()
2838         indicating that this function is deprecated.
2839
2840 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
2841
2842         * docs/gtkfaq.sgml: FAQ Update:
2843           - Minor cleanups (Emmanuel, me)
2844           - New questions:
2845                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
2846                 How can I retrieve the text from a GtkMenuItem? (timj)
2847                 How do I validate/limit/filter the input to a GtkEntry? (me)
2848                 Memory does not seem to be released when I free the list
2849                         nodes I've allocated (timj)
2850
2851 2000-03-07  Tor Lillqvist  <tml@iki.fi>
2852
2853         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
2854         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
2855         for which it is no use to call GetLastError onWin9x.
2856         (gdk_other_api_failed) New function, for general error
2857         reporting without calling GetLastError.
2858         (gdk_win32_api_failed) OTOH, this function always calls
2859         GetLastError. (gdk_win32_last_error_string) Remove this function,
2860         GLib has the equivalent now.
2861
2862         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
2863         call them with function name, file name and line number in the
2864         arguments.
2865
2866         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
2867         functions.
2868         
2869         * gtk/gtk.def: Add some missing entry points.
2870
2871         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
2872         gtk_paned_set_gutter_size, which don't exist any longer, as void.
2873         
2874         Fixes by Hans Breuer:
2875
2876         * gdk/makefile.msc: Update for debugging.
2877
2878         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
2879         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
2880         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
2881         in the dash_list.
2882
2883         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
2884         the x11 backend.
2885
2886         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
2887
2888         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
2889
2890 2000-03-04  Tor Lillqvist  <tml@iki.fi>
2891
2892         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
2893         just pixel value of background colour.
2894
2895         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
2896         containing code snippet previously duplicated in a couple of
2897         places.
2898         
2899         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
2900         gdk_colormap_color.
2901
2902         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
2903         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
2904         events for autorepeated Shift, Control and Alt keys. Use
2905         gdk_colormap_color.
2906
2907         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
2908         pointer is inside the window the cursor of which we are setting,
2909         call SetCursor immediately.
2910
2911         * gdk/win32/makefile.cygwin
2912         * gtk/makefile.cygwin: If we don't have the build number stamp
2913         file, use zero.
2914
2915         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
2916         gtk_paned_set_gutter_size as empty.
2917
2918         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
2919         
2920 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
2921
2922         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
2923           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
2924           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
2925           docs/gtk_tut.sgml docs/gtk.texi TODO:
2926
2927           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
2928
2929 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
2930
2931         * gtk/gtkcalendar.c: Implement num_marked_dates,
2932           and don't emit mutiple day_selected signals on
2933           month_prev.
2934
2935 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
2936
2937         * docs/make-todo (lineno): let title and logo be configurable so
2938         that GNOME can use this script too.
2939
2940         * TODO.xml: added logourl and a title
2941
2942 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
2943
2944         * TODO.xml: Added some UI items, and an explanatory
2945         comment at the top of the file.
2946
2947 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
2948
2949         * TODO.xml: some updates, added abunch of new entries.
2950         a note for those fiddeling with this file, when done
2951         with it, invoke:
2952         $ ./docs/make-todo TODO.xml >/dev/null
2953         and correct output errors before comitting changes.
2954
2955 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
2956
2957         * TODO.xml: Added XML-structured TODO file.
2958         * docs/make-todo: python script to turn TODO.xml into
2959           pretty XML output. 
2960
2961 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
2962
2963         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
2964         the function to let it draw the seven dots, instead of the old,
2965         much maligned, method.
2966         (draw_dot): New function to draw a dot.
2967
2968         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
2969         to draw the handle inside the border width as opposed to outside.
2970         Use paint function instead of gdk_draw_point.
2971
2972         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
2973         to draw the handle inside the border width as opposed to outside.
2974         Use paint function instead of gdk_draw_point.
2975
2976         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
2977         Change indenting to be more GTK like.
2978
2979 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
2980
2981         * docs/gtk_tut.sgml: New section on GtkCalendar
2982         * examples/calendar: Update example code
2983
2984 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
2985
2986         * docs/gtkfaq.sgml: FAQ Update
2987
2988 2000-02-19  Anders Carlsson  <andersca@gnu.org>
2989
2990         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
2991         to prevent the scroll event to be propagated upwards.
2992
2993 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
2994
2995         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
2996         OwnerGrabButtonMask from button entries for
2997         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
2998
2999         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
3000         to the event mask (which will result in button/press release
3001         being added to the event mask on Unix) so scrolling works
3002         for layouts in scroll windows.
3003
3004         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
3005
3006         Patch from Anders Carlsson  <andersca@gnu.org> to add
3007         a scroll event.
3008
3009         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
3010         scrolling to the "Test Scrolling" part of testgtk.
3011  
3012         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
3013  
3014         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
3015         it against GDK_SCROLL.
3016  
3017         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
3018         way of mouse wheel scrolling.
3019  
3020         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
3021  
3022         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
3023  
3024         * gtk/gtkmain.c: Removed previous mouse wheel hack.
3025  
3026         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
3027         gdk_event_mask_table.
3028  
3029         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
3030         GdkEventScroll handler.
3031  
3032         * gdk/gdkevents.h: Added GdkEventScroll structure.
3033  
3034 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
3035
3036         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
3037         and Anders Carlsson to change the Paned widgets so that they
3038         can be dragged from anywhere along the length. Also change
3039         the way that this is drawn to make this apparent.
3040
3041         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
3042         from George Lebl to check that option_menu->menu is present
3043         before getting history.
3044
3045 2000-02-14  Tor Lillqvist  <tml@iki.fi>
3046
3047         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
3048         before the assertion for non-NULL segment list.
3049
3050         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
3051         Seems that pattern brushes *must* be 8x8 pixels! At least on my
3052         machine, but it might be display driver dependent. Sigh, so make
3053         sure the stipple is that size. Does Windows suck or what?
3054
3055         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
3056         places.
3057
3058 2000-02-13  Havoc Pennington  <hp@pobox.com>
3059
3060         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
3061         refcount to 1
3062         (gdk_cursor_new): init refcount to 1
3063
3064         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
3065
3066 2000-02-13  Tor Lillqvist  <tml@iki.fi>
3067
3068         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
3069         so that we don't have to do unnecessary settings to the HDC.
3070
3071         * gdk/win32/gdkdrawable-win32.c
3072         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
3073         gdk_gc_predraw.
3074
3075         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
3076         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
3077         GDI paths, call WidenPath to get the outline of the stroken path,
3078         and then fill the outline (with the brush that was built from the
3079         stipple).
3080
3081         * gdk/win32/gdkgc-win32.c: Factor out common code from
3082         _gdk_win32_gc_new and gdk_win32_gc_set_values into
3083         gdk_win32_gc_values_to_win32values. Use correct colour for
3084         SetBkColor() (Until now the code actually used a random colour in
3085         the call to SetBkColor()... but that didn't show up as not many
3086         GDI APIs use the background colour. Pattern (opaque stippled)
3087         brushes do.)
3088
3089         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
3090         gdk_win32_api_failed): New functions for error logging.
3091
3092         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
3093         WIN32_API_FAILED to call them, passing function or file name and
3094         line number.
3095
3096         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
3097
3098         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
3099         GdkColor for foreground and background in GdkGCWin32Data.
3100
3101         * gdk/makefile.cygwin: Link in the resource object separately.
3102
3103         * gdk/win32/rc/gdk.rc
3104         * gtk/gtk.rc (New file)
3105         * gdk/win32/makefile.cygwin
3106         * gtk/makefile.cygwin: Update build number in DLLs automatically,
3107         as in GLib.
3108
3109 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
3110
3111         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
3112         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
3113         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
3114         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
3115         parameters given and cursor->ref_count. coding style fixups.
3116
3117         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
3118         not GtkWidget.
3119         
3120         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
3121         fix up widget macros and add _GET_CLASS() variant.
3122         
3123         * gtk/*.c: some GtkType fixups.
3124
3125 2000-02-09  Tor Lillqvist  <tml@iki.fi>
3126
3127         * gdk/win32/gdkproperty-win32.c
3128         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
3129         were reversed.
3130
3131 2000-02-04  Tor Lillqvist  <tml@iki.fi>
3132
3133         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
3134         g_filename_to_utf8 to convert the font names Windows gives us from
3135         whatever is the default codepage to UTF-8.
3136         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
3137         in the other direction.
3138
3139         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
3140         error in debugging output.
3141
3142 2000-02-02  Tor Lillqvist  <tml@iki.fi>
3143
3144         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
3145         and height parameters to gdk_window_clear_area(). Not minus one.
3146
3147 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
3148
3149         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
3150         checks if the widget passed to gtk_drag_get_data() was not the
3151         dest widget.
3152
3153 2000-02-01  Tor Lillqvist  <tml@iki.fi>
3154
3155         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
3156         g_filename_from_utf8 functions (which were added a moment ago to
3157         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
3158         size buffers.
3159
3160         gtk_file_selection_get_filename returns the filename in the C
3161         runtime encoding. It calls g_filename_from_utf8, but copies the
3162         returned string to a static buffer, which is returned. I think
3163         this is better than returning the result from g_filename_from_utf8
3164         directly, which would mean all apps that use it would have to free
3165         the return value. Or should this function care about this issue at
3166         all? Maybe a new function with clearly defined semantics.
3167
3168         * gtk/gtkfilesel.h: Add comment about
3169         gtk_file_selection_get_filename returning the filename in the C
3170         runtime's encoding.
3171
3172         * README.win32
3173         * gdk/gdk.def
3174         * gdk/makefile.{cygwin,msc}
3175         * gtk/gtk.def: Updates.
3176
3177         * gdk/gdkcursor-win32.c: Initialise refcount.
3178
3179 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
3180
3181         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
3182
3183 2000-01-30  Havoc Pennington  <hp@pobox.com>
3184
3185         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
3186         destroy
3187
3188         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
3189
3190         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
3191         implemented in platform-specific code
3192
3193         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
3194
3195         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
3196         underscore in front
3197
3198         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
3199         put an underscore in front
3200
3201         * gdk/gdkcursor.c: new file, implements
3202         gdk_cursor_ref/gdk_cursor_unref
3203
3204         * gdk/gdkcursor.h: Refcount GdkCursor
3205
3206         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
3207
3208 2000-01-29  Tor Lillqvist  <tml@iki.fi>
3209
3210         * gdk/gdkwindow.h
3211         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
3212
3213 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
3214
3215         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
3216         structures to properly inherit from GtkWidget not GtkBin.
3217
3218 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
3219
3220         * gtk+.spec.in: Added lib/gtk+/include/* to %files
3221         (bug #5178 - Peter Wainright)
3222         
3223         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
3224         so that it will be installed.
3225         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
3226
3227 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
3228
3229         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
3230         for the GtkStyleClass vtable const.
3231
3232         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
3233         take a const string argument like GtkTranslateFunc. This will
3234         require changes in use code.
3235
3236 2000-01-19  Tor Lillqvist  <tml@iki.fi>
3237
3238         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
3239         semantics (to mimic the X11 backend, which just calls XClearArea)
3240         is to check for zero width (and height), and in that case use the
3241         window's width minus x (height minus y). This fixes for instance
3242         some redraw problems with gtkclist, which were easily noticeable
3243         in the gtk file selection widget.
3244
3245         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
3246         windows.
3247
3248 2000-01-13  Tor Lillqvist  <tml@iki.fi>
3249
3250         * configure.in
3251         * gdk/Makefile.am
3252         * gdk/x11/Makefile.am
3253         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
3254         (bug #5177).
3255         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
3256         out later.
3257
3258 2000-01-09  Tor Lillqvist  <tml@iki.fi>
3259
3260         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
3261         WM_MOVE for iconified or invisible windows. This fixes various
3262         problems when minimising windows. Thanks to Bernd Herd.
3263
3264 2000-01-05  Tor Lillqvist  <tml@iki.fi>
3265
3266         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
3267         backend's draw_lines method, not draw_points.
3268
3269 2000-01-02  Tor Lillqvist  <tml@iki.fi>
3270
3271         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
3272         before Owen's reorganisation: Don't have queued_events and
3273         queued_tail statics in this file, but use gdk_queued_events and
3274         gdk_queued_tail. This makes exposure event compression work again.
3275
3276         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
3277         seem to be needed?
3278
3279 1999-12-30  Tor Lillqvist  <tml@iki.fi>
3280
3281         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
3282         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
3283         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
3284         doesn't do anything.
3285
3286         * gdk/gdk.def: Add gdk_xid_table_insert.
3287
3288         * gdk/win32/gdkprivate-win32.h
3289         * gdk/win32/gdkevents-win32.c
3290         * gdk/win32/gdkinput-win32.c
3291         
3292         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
3293         extension_events field in the GdkWindowWin32Data struct. Use only
3294         the extension_events field in GdkWindowPrivate. Previously one was
3295         set, and the other one tested, which broke tablet
3296         functionality. Thanks to Keishi Suenaga for pointing this out.
3297
3298 1999-12-18  Tor Lillqvist  <tml@iki.fi>
3299
3300         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
3301         When handling a single character (text length == 1), don't handle
3302         it as if it was UTF-8.
3303
3304 1999-12-11  Tor Lillqvist  <tml@iki.fi>
3305
3306         * Makefile.am: Distribute README.win32.
3307         
3308         * gdk/Makefile.am
3309         * gdk/win32/Makefile.am: Distribute Win32 files.
3310
3311         * gdk/makefile.msc: New file.
3312
3313         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
3314         after label).
3315
3316         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
3317         gdk_error_code as GDKVAR, as they are referred outside GDK.
3318
3319         * gdk/win32/makefile.msc: Update.
3320
3321         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
3322         tweaks. Check only if at least one of those Unicode subrange bits
3323         we care for is set. If no code page bits are set, guess (wildly)
3324         based on the charset.
3325
3326         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
3327
3328         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
3329         non-NULL.
3330
3331         * gtk/gtkdnd.c
3332         * gtk/gtklayout.c
3333         * gtk/gtkplug.c
3334         * gtk/gtkselection.c
3335         * gtk/gtksocket.c
3336         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
3337         appropriate. There must be a cleaner way to handle this?
3338
3339         * gtk/gtkrc.c: Must include windows.h on Win32.
3340
3341         * gtk/testgtk.c: No need to include gdkx.h.
3342
3343         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
3344
3345 1999-12-07  Tor Lillqvist  <tml@iki.fi>
3346
3347         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
3348         the rbearing is set to the same as the width, but this should be
3349         fixed.
3350
3351 1999-12-06  Tor Lillqvist  <tml@iki.fi>
3352
3353         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
3354         function. If Windows doesn't tell us what Unicode subranges a font
3355         covers, guesstimate based on the codepages it covers. This will
3356         hopefully help those Windows versions or fonts that don't give us
3357         any useful Unicode subrange information with GetTextCharsetInfo.
3358         Call this function in gdk_font_load_internal.
3359
3360         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
3361         minor changes.
3362
3363 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
3364
3365         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
3366         New function, long needed.
3367
3368 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
3369
3370         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
3371         only_if_exists argument of gdk_atom_intern to
3372         bool.
3373
3374 1999-11-25  Tor Lillqvist  <tml@iki.fi>
3375
3376         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
3377         Fix two copy&paste errors.
3378
3379         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
3380         win32 has changed.
3381
3382         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
3383         GdkWin32SingleFont struct.
3384
3385         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
3386         subranges of loaded fonts. Clear font signature first, in case
3387         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
3388         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
3389
3390         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
3391         Unoffset clip region.
3392
3393 1999-11-23  Tor Lillqvist  <tml@iki.fi>
3394
3395         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
3396         event->any.window before calling filter functions.
3397
3398 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
3399
3400         * gtk/gtkgamma.h: Adapt cast macros to standard.
3401
3402 [ Merges from 1.2 ]
3403
3404 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
3405
3406         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
3407         If translation does not include a '/', use entire
3408         translation instead of crashing.
3409
3410 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
3411
3412         * docs/gtk_tut.sgml:
3413         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
3414
3415 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
3416
3417         * gtk/gtkselection.c (gtk_target_list_remove): Use
3418         g_list_remove_link, not g_list_remove.
3419
3420         [ From Geert Bevin <gbevin@thunderstorms.org> ]
3421         
3422 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
3423
3424         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
3425         statement upon unselection (how the heck did that slip in?).
3426
3427 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
3428
3429         * gtk/gtktext.c (gtk_text_freeze): 
3430         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
3431         in frozen state (and aparently crashes). patch provided by Anders
3432         Melchiorsen <and@kampsax.dtu.dk>.
3433
3434 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
3435
3436         * fix insensitive default/focus widget activation,
3437         reported by Matt Goodall <mgg@isotek.co.uk>.
3438
3439         * gtk/gtkwindow.c (gtk_window_key_press_event): 
3440         (gtk_window_activate_default):
3441         (gtk_window_activate_focus):
3442         return handled=FALSE for actiavtion of insensitive default
3443         widgets. return handled=TRUE for activation of insensitive
3444         focus widgets. don't activate in either case.
3445
3446 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
3447
3448         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
3449         and $glib_cflags to match library order and in the
3450         theory that an old version of GLib is more likely to
3451         be in the include directory for X then vice-versa.
3452         (Bug #2776)
3453
3454 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
3455
3456         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
3457         to determine the locale for fontsets, not LC_MESSAGES;
3458         the user may want English messages with a handling
3459         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
3460         will still be broken) (Bug #2891)
3461
3462 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
3463
3464         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
3465
3466 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
3467
3468         * gtk/gtkrc.ko: Changed the Korean default fontset.
3469
3470 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
3471
3472         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
3473         where when scrolling to the left or top double exposes
3474         were done, causing major slowdowns.
3475
3476 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
3477
3478         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
3479         names to lowercase and alphanumeric, before looking
3480         them up.
3481
3482         * gtk/Makefile.am: Install codeset variant gtkrc files
3483         with normalized names.
3484
3485 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
3486
3487         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
3488         popup menus when the menu is already visible, but its parent
3489         is still hidden, (happens after tornoff window got hidden).
3490
3491 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
3492
3493         * gtk/Makefile.am (install-data-local): Fix
3494         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
3495         deleted, causing error messages on install.
3496
3497 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
3498
3499         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
3500         the handle as well, since we now sometimes ignore
3501         exposes on the handle while resizing.
3502
3503 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
3504
3505         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
3506         extra g_free introduced in one of the last one or two 
3507         commits.
3508
3509 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
3510
3511         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
3512         consistent, put each style that a gtkrc.* file creates
3513         in a unique namespace, remove old files before installing.
3514
3515 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
3516
3517         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
3518         gtk_rc_init is called multiple times. (Yes, people who
3519         do that have bugs in their code.)
3520
3521 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
3522
3523         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
3524         Remove it since it's generated by the Makefile anyway
3525
3526 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
3527
3528         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
3529         device->info.axes for core pointer.
3530
3531 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
3532
3533         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
3534         idle_id, to deal with obsolete, broken C libraries.
3535
3536 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
3537
3538         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
3539         allocation->x/y twice!
3540
3541         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
3542         consistent with gtk_vscale_pos_trough().
3543
3544 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
3545
3546         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
3547         be queueing a resize on a toplevel container between
3548         the time we show it and when we map it. So, we need
3549         to test GTK_WIDGET_VISIBLE() for toplevels, and only
3550         use GTK_WIDGET_DRAWABLE() for child windows.
3551
3552 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
3553
3554         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
3555         (fixes bug #2144)
3556
3557 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
3558
3559         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
3560         container DRAWABLE (instead of VISIBLE), so we don't queue
3561         resizes on non-toplevel containers.
3562
3563 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
3564
3565         * gtk/gtkselection.[ch]: Make the data argument
3566         const guchar *.
3567
3568 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
3569
3570         * gtk/gtkwindow.c: Try to behave sensibly if 
3571         the focus widget is the window itself. (Should
3572         we allow this at all?)
3573
3574 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
3575
3576         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
3577         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
3578         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
3579         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
3580         in prototypes and implementations consistent (Tomas Ogren).
3581
3582         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
3583         before the widget is unparented (reported by damon).
3584
3585         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
3586         since we provide unsigned data anyways.
3587
3588 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
3589
3590         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
3591         the call to gtk_tooltips_layout_text() until later.
3592
3593         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
3594         Call gtk_widget_ensure_style() before using the style.
3595
3596 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
3597
3598         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
3599         for old widgets that don't propagate draws to all
3600         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
3601
3602 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
3603
3604         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
3605         for a redraw but just the widget that requested the resize.
3606
3607 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
3608
3609         * gtk/gtkcontainer.c: added new widget level method
3610         gtk_container_set_reallocate_redraws() and a GtkContainer flag
3611         reallocate_redraws : 1 to reflect the setting, exported this through
3612         the argument system as a boolean ::reallocate_redraws.
3613
3614         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
3615         on the widget because the allocation changes, do so as well for
3616         widget->parent if the parent has reallocate_redraws set to TRUE.
3617         with that containers requesting reallocation redraws get automatically
3618         redrawn if their children changed allocation (this unfortunately
3619         affects also other children that didn't change allocation, but we
3620         cannot work around that before 1.3).
3621
3622 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
3623
3624         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
3625         _and_ height are >0 (not _or_).
3626
3627         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
3628         instead of gtk_container_queue_resize(), which is a core gtk internal
3629         function (must have been on crack when i queued that).
3630
3631         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
3632         we can check more reliably if we want to discard expose events.
3633         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
3634         flag.
3635         
3636         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
3637         we simply trust these events. for deciding whether to discard exposes,
3638         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
3639         
3640 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
3641
3642         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
3643         queues of areas that are completely off screen.
3644
3645         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
3646         logic for handleboxes.
3647
3648         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
3649         check on width/height.
3650
3651 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
3652
3653         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
3654         we are fine with using $@ the way we do (if we actually encounter
3655         brokeness with $@ in VPATH builds because of additional path prefixes,
3656         we need to use $(@F) actually).
3657
3658 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
3659
3660         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
3661         short lived bugs, that would allow language bindings to do surgeries
3662         to our guts.
3663
3664 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
3665
3666         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
3667         where comparison was being done against an uninitialized
3668         value causing intermittant results depending on
3669         compiler flags. Also make it clearer that we aren't
3670         ever initializing the child as 0x0 (though this will
3671         be caught in gtk_widget_size_allocate())
3672
3673 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
3674
3675         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
3676         gtk_window_unset_transient_for() call after we do checks
3677         involving the old transient parent.
3678         [ From Lance Capser <lmc@cyberhighway.net> ]
3679
3680 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
3681
3682         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
3683         an empty file.
3684
3685 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
3686
3687         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
3688         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
3689
3690 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
3691
3692         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
3693         `$@' is valid only in the build dir, not after we've done 
3694         `cd $srcdir'.  Also use `test -f' instead of less portable
3695         `test -e'.
3696
3697 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
3698
3699         * gtk/gtktext.c (correct_cache_insert): Rewrite
3700          for simplicity, and hopefully correctness.
3701          (Fixes bug #1322, which was a segfault when
3702           on some insertions with the properties around
3703           the insertion set up just wrong.)
3704
3705         * gtk/gtktext.c (gtk_text_adjustment): When we receive
3706          a "changed" signal, clamp the new value to the adjustment
3707          bounds to avoid segfaulting if someone tries to change
3708          the adjustment to a bogus value. (Bug #1795)
3709
3710 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
3711
3712         * gtk/gtkmain.c: Ignore unexpected destroy notifies
3713         for children, for toplevel windows handle them
3714         like delete_event.
3715
3716         * gtk/gtkplug.c: Add an unrealize handler so that
3717         we unref plug->socket_window when we are done
3718         with it.
3719
3720 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
3721
3722         * gtk/gtktext.c (clear_area): Fix stupid signedness
3723          problem that was causing background to sometimes
3724          be misaligned.
3725
3726 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
3727
3728         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
3729         
3730         * gtk/gtkmenu.c (gtk_menu_position): Make
3731          sure we never position menus with negative x, y,
3732          since gtk_widget_set_uposition() can't handle that.
3733
3734         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
3735          Modify the positioning code a bit so that we always
3736          put the top-left corner onscreen. (This is for
3737          UI reasons, gtk_menu_position() now takes care of
3738          gtk_widet_set_uposition() brokeness.)
3739
3740 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
3741
3742         * gtk/Makefile.am: fixed up things for -jx, x > 1.
3743
3744 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
3745
3746         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
3747           RC style that is passed in. The lack of the ref
3748           before was a bug. If people worked around this
3749           bug, this will introduce a slight memory leak
3750           in their code. The code should typically look like:
3751
3752             rc_style = gtk_rc_style_new ();
3753             [...]
3754             gtk_widget_modify_style (widget, rc_style);
3755             gtk_rc_style_unref (rc_style);
3756
3757         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
3758           the style if it was already set.
3759
3760         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
3761           style if it was set before.
3762
3763 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
3764
3765         * gtk/testgtk.c (main): Add a check to see if we
3766           are being run from the correct directory and
3767           to quit nicely if we are not.
3768
3769         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
3770           static.
3771
3772 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
3773
3774         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
3775
3776         * gtk/gtkwindow.c:
3777         queue resizes unconditionally (gtk_widget_queue_resize will figure
3778         what to do if the window is not realized).
3779         (gtk_window_move_resize): only recenter the window
3780         for GTK_WIN_POS_CENTER_ALWAYS.
3781         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
3782         the same way as GTK_WIN_POS_CENTER.
3783
3784 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
3785
3786         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
3787         with (!(info->last_flags & GDK_HINT_POS)) instead of
3788         (!info->last_flags & GDK_HINT_POS).
3789
3790         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
3791         new_height unconditionally, because we use these values even if
3792         !default_size_changed && !hints_changed.
3793         comented the (default_size_changed || hints_changed) case with
3794         respect to resize rejects from the window manager.
3795
3796         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
3797         in the zvt condition hack, since this includes the window hints, set
3798         the hints after the handling_resize case.
3799
3800         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
3801         window is initially shown with to the geometry.
3802
3803 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
3804
3805         * gtk/gtkwindow.c (gtk_window_move_resize):
3806         s/size_changed/default_size_changed/g so i know what's
3807         really going on (frying brain on smaller flame now).
3808
3809 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
3810
3811         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
3812         we have size_changed upon handling_resize. this is a gross
3813         workaround for the broken zvt widget and should be removed in
3814         1.3 again (search for FIXME).
3815         Owen provided an accurate comment for this:
3816
3817         /* We could be here for two reasons
3818          *  1) We coincidentally got a resize while handling
3819          *     another resize.
3820          *  2) Our computation of size_changed was completely
3821          *     screwed up, probably because one of our children
3822          *     is broken. It's probably a zvt widget.
3823          *
3824          * For 1), we could just go ahead and ask for the
3825          * new size right now, but doing that for 2)
3826          * might well be fighting the user (and can even
3827          * trigger a loop). Since we really don't want to
3828          * do that, we requeue a resize in hopes that
3829          * by the time it gets handled, the child has seen
3830          * the light and is willing to go along with the
3831          * new size. (this happens for the zvt widget, since
3832          * the size_allocate() above will have stored the
3833          * requisition corresponding to the new size in the
3834          * zvt widget)
3835          *
3836          * This doesn't buy us anything for 1), but it shouldn't
3837          * hurt us too badly, since it is what would have
3838          * happened if we had gotten the configure event before
3839          * the new size had been set.
3840          */
3841
3842 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
3843
3844         * gtk/gtkrc.c: deal properly with the fact that RC
3845           style lists may include rc styles more than once.
3846
3847         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
3848           unused static function.
3849
3850         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
3851           stack of directories of RC files currently being
3852           parsed and implicitely add them to pixmap path.
3853           
3854           This fixes a bug where the directory would get
3855           appended then overwritten by pixmap_path declarations.
3856
3857           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
3858
3859         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
3860           theme's exit function. (Patch from Peter Wainwright,
3861           bug #1454)
3862
3863         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
3864           Add a destroy() handler to take care of removing
3865           group for menu item. (Fixes bug #1197)
3866
3867         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
3868           in warning message.
3869
3870 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
3871
3872         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
3873         roundtrip to figure window's width and height, since we know that
3874         anyways from widget->allocation.
3875
3876 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
3877
3878         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
3879           the hints after we request the new size.
3880
3881 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
3882
3883         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
3884           GTK_WIDGET_REALIZED() assertion - we can compute the
3885           hints before we are realized.
3886
3887         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
3888           hint changing so that we have a value of hints_changed
3889           when we decide whether to constrain the window size.
3890
3891         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
3892
3893         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
3894         change back to G_MAXINT.
3895
3896 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
3897
3898         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
3899         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
3900         contain uncluttered values.
3901         (gtk_window_compute_hints): simply assert that window is realized
3902         and that geometry_info is valid, since we rely on this anyways.
3903         (gtk_window_constrain_size): major cleanups to the code.
3904         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
3905         for the base size, instead of the minimums. use 32767 as max width
3906         and height (like in gtkwindow.c) instead of G_MAXINT.
3907
3908 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
3909
3910         * cleaned up the GtkContainer.need_resize flag handling mess, we
3911         only need to force resize requests when we were prematurely
3912         realized, or our widget tree was modified when we were temporarily
3913         hidden. handling these cases directly upon showing the window (i.e.
3914         while the GdkWindow is still unmapped) avoids the need to wait for
3915         a configure event response and therefore makes the GUI more snappier
3916         and avoids blank windows during the roundtrip.
3917
3918         * gtk/gtkwidget.c:
3919         (gtk_widget_hide): 
3920         (gtk_widget_show): don't queue resizes on toplevels, they know how
3921         to deal with matters.
3922
3923         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
3924         flag directly for not visible resize containers and spare us unecessary
3925         signal emissions.
3926
3927         * gtk/gtkwindow.c:
3928         (gtk_window_realize): if we need to enforce premature size allocation,
3929         queue a container resize so we are correctly resized later on.
3930         (gtk_window_init):
3931         (gtk_window_size_request):
3932         don't freak around with the ->need_resize flag,
3933         gtk_container_queue_resize() will care about that.
3934         (gtk_window_show):
3935         handle initial resizing issues here, we can handle matters better in
3936         this place, especially since we know that our GdkWindow is still
3937         unmapped.
3938         (gtk_window_move_resize):
3939         don't care about ->need_resize at all.
3940         handle size changes properly that occoured while we waited for a
3941         configure event.
3942
3943 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
3944
3945         * gtk/gtkwidget.c (gtk_widget_set_uposition):
3946         * gtk/gtkwindow.[hc] (gtk_window_reposition):
3947         Move the hint setting code from gtk_widget_set_uposition
3948         to here; set the hints so that we respect any previously
3949         set geometry hints.
3950
3951         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
3952         change the window hints here or move the window here,
3953         let that happen in gtk_window_move_resize().
3954
3955 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
3956
3957         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
3958         to already queued resizes (and therefore redraws) on a widget, check
3959         its anchestry as well.
3960
3961         * gtk/gtkcontainer.c:
3962         (gtk_container_queue_resize): clear resize widgets for resize
3963         containers before aborting prematurely. this is especially important
3964         for toplevels which may need imemdiate processing or their resize
3965         handler to be queued.
3966         (gtk_container_dequeue_resize_handler): added new internal function for
3967         gtkwindow.c.
3968
3969         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
3970         configure event, take possible changes in window position into account
3971         as well.
3972         if we request a new window size, queue up a resize handler that will
3973         last until the configure event response arrives.
3974         combined the ->need_resize case (initial show) with the general size
3975         (hints) changed case and added even more comments.
3976         if !auto_shrink, only revert to the old allocation if the new size
3977         is smaller than the current allocation.
3978
3979 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
3980
3981         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
3982                            gtk_window_set_geometry_hints
3983                            gtk_window_set_default_size):
3984         When hints are set, queue a resize so that the hints will
3985         be eventually reset on the toplevel.
3986
3987         * gtk/gtkwindow.c (gtk_window_show): Use
3988         gtk_window_compute_default_size(). Clear the need_resize flag
3989         on the initail map so that we don't unnecessarily trigger the
3990         resize code.
3991
3992         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
3993         into separate functions. Compare the hints we are setting
3994         with what we set last time so that we can accurately
3995         tell when we need to reset the hints.
3996
3997         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
3998         function to figure out the size from requisition
3999         and default_size.
4000
4001         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
4002         from fvwm to constrain a size to the geometry hints.
4003
4004         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
4005         to compare two sets of geometry hints.
4006
4007         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
4008         from gtk_window_set_hints(), just compute the hints,
4009         don't set them.
4010
4011         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
4012         code from gtk_window_move_resize() to separate function,
4013         rationalize a bit.
4014
4015 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
4016
4017         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
4018         structure into a new private structure.
4019
4020         * gtkrc.c: Split GtkRcStyle into public/private.
4021         In the private part, add a list of pointers to the
4022         RcStyle lists this RcStyle participates in.
4023
4024         * gtkrc.c: When a RcStyle is free, remove all
4025         lists referencing it from the 
4026         realized_style_ht hash, and free those lists.
4027         
4028         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
4029         gtk_rc_init(), since that adds the default styles
4030         to the list of parsed RC files again.
4031
4032         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
4033         
4034 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
4035
4036         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
4037         checks that ensure that a widget's allocation is at least 1 in width
4038         and height. (GNOME note: this doesn't affect old panel code anymore,
4039         because GtkSocket will request width and height of at least 1 since
4040         Fri Jul 23).
4041
4042         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
4043         allocated yet (happens if the user realizes the window prematurely),
4044         size request and allocate it.
4045         (gtk_window_size_allocate): guard against guint underflows.
4046
4047 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
4048
4049         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
4050         in gtk_built_sources, so gtk.defs gets built prior to all other
4051         sources.
4052
4053 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
4054
4055         * gtk/Makefile.am:
4056         invoke indent on gtkmarshal.*. 
4057         rewrote source generation rules, use COPYING as oldest source tag for
4058         a piggyback rule to generate all sources from (don't touch it ;).
4059         major cleanups, strip spaces on build rules for GNU Make.
4060
4061         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
4062         source and target files from commandline arguments. don't invoke indent.
4063
4064 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
4065
4066         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
4067         notebook after switch to avoid drawing problems.
4068         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
4069         
4070         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
4071         show them instead. 
4072         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
4073
4074 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
4075
4076         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
4077         notebook after switch to avoid drawing problems.
4078         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
4079         
4080         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
4081         show them instead. 
4082         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
4083
4084 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
4085
4086         * gtk/gtkwindow.c:
4087         we use window->need_resize from configure_event now, to indicate that
4088         the gtkwindow should keep its allocation (e.g. because the user resized
4089         the window through window manager handles). resize_count is now reliably
4090         used to figure whether we got the allocation we requested from the
4091         window manager.
4092         configure events get queued as resizes now, the real stuff (size
4093         computation and allocation) now only goes on in gtk_window_move_resize().
4094         GtkWindow's requisition now contains its *real* requisition (like all
4095         other widgets), *not* taking usize into account.
4096         geometry_info->last_{width|height} is now updated from set_hints() only
4097         so it always contains the last hints we set for the window manager.
4098         made some event handlers return TRUE instead of FALSE.
4099         the overall code should be much more straight forward now, and the
4100         significant code portions are accompanied by comments now.
4101         (gtk_window_set_hints):
4102         removed requisition argument and made it
4103         fetch the requisition through gtk_widget_get_child_requisition.
4104         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
4105         does that now.
4106         (gtk_window_show):
4107         ensure that the widget is realized before calling 
4108         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
4109         ensure that we got properly size requested and allocated before
4110         realization.
4111         (gtk_window_configure_event):
4112         ignore plain window moves, or reallocate the widget tree through the
4113         resize queue otherwise.
4114         (gtk_window_move_resize):
4115         mostly rewrote this function to figure window manager hints more
4116         reliably, coalesce window moves and resizes to reduce configure events
4117         and do actuall size allocations.
4118
4119 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
4120
4121         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
4122         that have a resize pending, because a redraw is already queued for them.
4123
4124         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
4125         hack to clear resize_widgets.
4126
4127         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
4128         for resize containers prior to size allocation. (this is also a bit
4129         ugly, but avoids side effects for stopped emissions and is thus more
4130         reliable).
4131         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
4132
4133         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
4134         function from gtk_tooltips_expose, as we connect to ::expose_event
4135         *and* ::draw now.
4136
4137 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
4138
4139         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
4140         checks.
4141         (gtk_target_list_unref): Likewise.
4142
4143         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
4144
4145 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
4146
4147         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
4148         guard against division by zero. (Fixes bug #1339)
4149
4150 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
4151
4152         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
4153         Prevent the trivial leak of information of allowing
4154         word motion when the entry is not visible.
4155
4156 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
4157
4158         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
4159         modality to error dialog as well as confirmation dialogs.
4160         (Bug #1803, reported by Rosanna Wing Sze Yuen)
4161
4162 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
4163
4164         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
4165         tree->view_lines.
4166         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
4167
4168         * gtk/Makefile.am (install-data-local): Solaris apparently
4169         has various troubles with ln -f; use rm first instead.
4170         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
4171
4172 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
4173
4174         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
4175         use `cp' followed by `rm' (the `rm' was already there).
4176
4177 July 30, 1999 Elliot Lee <sopwith@redhat.com>
4178         
4179         * configure.in: Fix autoconf warnings about cross compilation by
4180         trying to provide sane defaults for AC_TRY_RUN.
4181         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
4182         put them into $(srcdir) when generated. Also add a dependency of
4183         gtksignal.h on gtkmarshal.h for -j builds. 
4184         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
4185
4186 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
4187
4188         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
4189         GDK_THREADS_{LEAVE,ENTER} pair.
4190         (From Paul Fisher <pnfisher@redhat.com>)
4191
4192 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
4193
4194         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
4195         width and height are always >0 (owen).
4196
4197 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
4198
4199         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
4200         change that assured that a widget's allocated with and height are
4201         always >1, since this breaks *buggy* panel code. unfortunately this
4202         back-breaks the gimp's color selector.
4203
4204         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
4205         allocation is always >0 in width and height, before sending the
4206         configure event; this is a *gross* hack to get the gimp back to work.
4207         
4208         * marked both cases with TODO-1.3
4209
4210 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
4211
4212         * gtk/gtktext.c: Don't display wrap indicators when
4213         text is not editable and word wrap is on.
4214
4215 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
4216
4217         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
4218         option menus here as they are not derived from menu shell, assure that
4219         the option menu has a menu we can add items to.
4220
4221 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
4222
4223         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
4224         width/height to (gint) before calculations and check against < 0 to
4225         avoid guint wraparounds.
4226
4227 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
4228
4229         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
4230         width and height is never zero. sanity check both dimensions against
4231         32767 and issue a warning if the allocation is greater than that.
4232
4233 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
4234
4235         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
4236         to g_main_pending() as well.
4237
4238 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
4239
4240         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
4241         call to g_main_iteration() - since that will regrab
4242         GTK+ lock to process events.
4243
4244 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
4245
4246         * gtk/gtkwindow.c
4247         - Regularize with the rest of GTK+ by making widget->requisition
4248           not reflect the set_usize()
4249         - Always recompute geometry hints, then check if they
4250           changed before sending them to the X server. The
4251           previous checks for changes would fail in a number
4252           of circumstances. 
4253
4254 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
4255
4256         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
4257
4258 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
4259
4260         * gtk/gtkdnd.c:
4261         - Code cleanups
4262         - Instantaneously update on modifier key presses
4263         - Allow cancellation of the drag with Escape.
4264
4265 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
4266
4267         * gtk/testgtk.c (create_handle_box): Set the policy
4268         to auto_shrink - otherwise the appearance is rather
4269         strange when flipping between horizontal and vertical.
4270
4271 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
4272
4273         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
4274         (gtk_window_set_default_size): don't change a value if it's < 0.
4275         queue a resize.
4276
4277 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
4278
4279         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
4280
4281 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
4282
4283         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
4284         add an extra "/" when concating "/" + filename.
4285         (From Matt Grossman <mattg@oz.net>)
4286
4287 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
4288
4289         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
4290         for fg_gc if we set it for drawing pixmap.
4291
4292 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
4293
4294         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
4295         
4296         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
4297         already set, call old engine's destroy function and
4298         unref the old engine.
4299
4300 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
4301
4302         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
4303
4304 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
4305
4306         * gtk/gtkaccelgroup.h: mark certain functions as internal.
4307
4308 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
4309
4310         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
4311         expand behaviour changed.
4312
4313         * gtk/gtklabel.c (gtk_label_set_pattern):
4314         (gtk_label_set_justify):
4315         (gtk_label_set_line_wrap):
4316         don't bother invoking queue_clear, the reallocation does
4317         that for us, always free_words so the upcoming resize will
4318         relayout the label's contents.
4319
4320 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
4321
4322         * applied argument implementation patches from Elena Devdariani
4323         <elena@cogent.ca>.
4324
4325         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
4326         ::space_style, ::relief
4327         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
4328         * gtk/gtkpreview.c: ::expand
4329         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
4330         * gtk/gtknotebook.c: ::homogeneous
4331         * gtk/gtklabel.c: ::wrap
4332         * gtk/gtklist.c: ::selection_mode
4333         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
4334         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
4335         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
4336         * gtk/gtkclist.c: ::sort_type
4337         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
4338         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
4339
4340 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
4341
4342         * gtk/gtkstyle.c: Removed ill-thought-out part of last
4343         comment.
4344
4345 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
4346
4347         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
4348         counting right when we have to attach a new style
4349         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
4350
4351         * gtk/gtkstyle.c: Documented the refcounting
4352         peculularities of gtk_style_attach.
4353
4354 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
4355
4356         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
4357         window types.
4358
4359         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
4360         of GTK_TOPLEVEL for creating the window.
4361
4362 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
4363
4364         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
4365         the last argument (reported by Per Winkvist).
4366         
4367 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
4368
4369         Fixes for invisible XOR lines (Frank Loemker
4370         <floemker@TechFak.Uni-Bielefeld.DE>)
4371         
4372         * gtk/gtkclist.c (gtk_clist_realize): Always use
4373         a non-zero pixel for GDK_XOR.
4374
4375         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
4376         Use GDK_INVERT instead of GDK_XOR.
4377
4378 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
4379
4380         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
4381         signals if h/voffsets differ from adjustment values.
4382         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
4383
4384 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
4385
4386         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
4387         ::selection-done emissions up to the topmost menu shell.
4388
4389 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
4390
4391         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
4392         the user data on the window before destroying it.
4393
4394         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
4395         unrealize handler to take care of destroying 
4396         notebook->panel properly. 
4397         (Bug #1198 - Morten Welinder <terra@diku.dk>)
4398
4399         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
4400         of g_new and g_realloc to stop memory leak. (Actually,
4401         we could just use g_realloc(), but I'm not 100% sure
4402         that is portable).
4403         (Bug #1196 - Morten Welinder <terra@diku.dk>)
4404
4405 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
4406
4407         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
4408
4409         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
4410         for fontsets.
4411
4412         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
4413         with bin/button confusion.
4414
4415 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
4416
4417         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
4418         and show how preselection of radio items is done.
4419
4420 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
4421
4422         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
4423         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
4424         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
4425         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
4426         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
4427         * gtk/gtktable.c (gtk_table_attach): 
4428         * gtk/gtklist.c (gtk_list_insert_items): 
4429         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
4430         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
4431         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
4432         * gtk/gtkbin.c (gtk_bin_add): 
4433         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
4434         * gtk/gtkfixed.c (gtk_fixed_put): 
4435         * gtk/gtklayout.c (gtk_layout_put):
4436         general fixups to container_add logic. always realize child if
4437         child->parent is realized, only map the child and queue a resize
4438         if child and child->parent are both visible.
4439
4440 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
4441
4442         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
4443         instead of gtk_container_foreach to walk and unrealize children, so
4444         composite children get also unrealized.
4445         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
4446         (gtk_widget_map): assert that the widget is visible (basic constrain).
4447         (gtk_widget_real_map): assert that the widget is realized (basic
4448         constrain).
4449
4450 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
4451
4452         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
4453
4454 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
4455
4456         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
4457         file for iso-8859-2 locales.
4458
4459         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
4460
4461 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
4462
4463         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
4464          (Pointed out by andy@rz.uni-karlsruhe.de and others).
4465          Remove some suspicious and useless lines. 
4466
4467 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
4468
4469         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
4470         width,height = 0, 0 to mean - here to edge of window,
4471         instead of -1, -1, since the former is all we support.
4472
4473 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
4474
4475         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
4476         when removing from quit_functions list.
4477
4478 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
4479
4480         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
4481
4482 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
4483
4484         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
4485          When redrawing characters on non-visible entry, use appropriate
4486          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
4487
4488 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
4489
4490         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
4491         from drag coordinates.
4492         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
4493         use drag_dest_cell.
4494
4495         * gtk/gtktree (drag_dest_cell)
4496         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
4497         (Bug #1129)
4498
4499 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
4500
4501         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
4502         translate_* fields.
4503         (gtk_item_factory_finalize): invoke translate_notify independant from
4504         translate_data.
4505         (gtk_item_factory_set_translate_func): likewise.
4506         (gtk_item_factory_destroy): only remove ifactory pointer from those
4507         widgets that belong to us (stupid me).
4508
4509 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
4510
4511         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
4512         rc_style list when lookup succeeeds.
4513
4514 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
4515
4516         * gtk/gtkctree.c (resync_selection): 
4517         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
4518         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
4519         bug.
4520
4521 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
4522
4523         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
4524         Add some missing GDK_THREADS_ENTER()/LEAVE around
4525         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
4526
4527 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
4528
4529         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
4530         rather than emit_by_name.
4531
4532         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
4533         on the widget across multiple signal emissions.
4534         (gtk_editable_delete_text): same here.
4535         (gtk_editable_class_init): set widget_class->activate_signal after
4536         editable_signals[ACTIVATE] has been created.
4537
4538 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
4539
4540         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
4541         position here prematurely -- we might not have the
4542         right ->min_position and ->max_position yet.
4543
4544 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
4545
4546         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
4547         Add error traps so if the other end of the connection
4548         dies, we survive.
4549
4550         * gtk/gtkselection.c (gtk_selection_notify): Clean
4551         up properly when selection property retrieval fails.
4552         
4553         * gtk/gtkselection.c (gtk_selection_request): Correctly
4554         reject SelectionRequest notifies where the handler
4555         returns no data.
4556
4557 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
4558
4559         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
4560         when we've previously highlighted.
4561
4562         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
4563         emit two "drag_leave" signals for Motif drops.
4564
4565         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
4566         back the correct status messages when dropping from
4567         Motif onto a proxy window that is rejecting the
4568         drop.
4569
4570 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
4571
4572         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
4573         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
4574         to compare two argument values. added gtk_arg_to_valueloc() to set a
4575         variable from an arg through its location (pointer).
4576
4577         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
4578         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
4579         as gfloat*, uchars are collected as guchar*, ints are collected as
4580         gint*, etc...
4581
4582 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
4583
4584         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
4585         Include <string.h> instead of <strings.h>.
4586
4587         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
4588         (actually, a lot more duplicate includes occur if
4589          you trace through the sequence of #include's)
4590         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
4591         
4592 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
4593
4594         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
4595         gtk-a-higuti-990322-[0-3]
4596
4597         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
4598         that was causing -DX_LOCALE not to work.
4599
4600         * gtk/gtkrc.c (gtk_rc_init):
4601         X_LOCALE will never have LC_MESSAGES defined
4602
4603 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
4604
4605         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
4606         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
4607
4608         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
4609         left/right as well (gtk-michael-980726-0.patch.gz).
4610
4611         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
4612         for pointer values, use gchar instead of char. fixed uline allocation
4613         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
4614         chunks instead of G_ALLOC_ONLY.
4615         (gtk_label_size_request): always alter requisition as passed and leave
4616         widget->requisition alone.
4617         (gtk_label_set_text): allow NULL strings.
4618         (gtk_label_new): likewise.
4619
4620 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
4621
4622         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
4623
4624 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
4625
4626         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
4627         *and* mapped (i.e. drawable).
4628         (gtk_bin_expose): only send exposes to drawable children.
4629
4630         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
4631         (gtk_box_expose): only send exposes to drawable children.
4632
4633         * gtk/gtkhscale.c (gtk_hscale_draw): 
4634         * gtk/gtkvscale.c (gtk_vscale_draw):
4635         hm, this is an ugly one. we first compute the size of our trough area
4636         here (window relative) and then check intersection with the draw_area
4637         which is parent relative because we're a NO_WINDOW widget, so we need
4638         to offset the trough area by allocation.x and allocation.y before the
4639         check. (this must not be done for the background area though, since
4640         that's already computed parent relative).
4641
4642 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
4643
4644         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
4645         unrealize title buttons.
4646
4647 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
4648
4649         * gtk/gtkclist.c (gtk_clist_column_title_passive)
4650         (gtk_clist_column_title_active): 
4651         only connect/disconnect to GtkWidgetClass::event to block mouse events.
4652
4653         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
4654         zero initialize event, removed superfluous gdk_window_get_pointer call
4655
4656         * gtk/gtklist.c (gtk_list_vertical_timeout)
4657         (gtk_list_horizontal_timeout): removed superfluous
4658         gdk_window_get_pointer call
4659
4660 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
4661
4662         * plugging problems reported by "Bruce Mitchener, Jr."
4663         <bruce@puremagic.com> due to a purify session.
4664
4665         * gtk/gtkstyle.c:
4666         (gtk_style_ref): 
4667         (gtk_style_unref): assert ref_count to be > 0.
4668
4669         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
4670         the requisition.
4671         (gtk_clist_set_shift): likewise.
4672
4673         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
4674         adjustments.
4675
4676         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
4677         event before sending it and set send_event to TRUE (which needs to
4678         be done for *all* synthesized events).
4679         (gtk_list_vertical_timeout): likewise.
4680
4681         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
4682         leaks.
4683
4684         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
4685         to TRUE when synthesizing events.
4686
4687 [ *** end of merges from 1.2 *** ]      
4688         
4689 1999-11-21  Tor Lillqvist  <tml@iki.fi>
4690
4691         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
4692         (or copied from gdkconfig.h.win32 on Win32, sigh).
4693
4694         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
4695
4696         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
4697
4698         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
4699
4700         * gdk/gdkconfig.h.win32: New file.
4701
4702         * gdk/win32/makefile.cygwin: Build just a static archive here.
4703
4704         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
4705         for the DLL from the static archive built above.
4706
4707         * gdk/gdk.def: Moved here from the win32 subdirectory.
4708
4709         * gdk/win32/*: Adapt for the changed private struct organisation.
4710
4711         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
4712
4713 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
4714
4715         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
4716         for wheel mice (buttons 4 and 5).
4717
4718 1999-11-18  Tor Lillqvist  <tml@iki.fi>
4719
4720         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
4721         drawables use just the pixel field in the foreground and
4722         background GdkColor of the GdkGC.
4723
4724         gdk_gc_set_{fore,back}ground() are called in the GIMP with
4725         GdkColors containing uninitialized (red,green,blue) fields, and
4726         just the pixel field filled in, and furthermore in the
4727         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
4728         It thus turns out that we really don't need to have the full
4729         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
4730         it later to have just the pixel values.
4731
4732 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
4733
4734         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
4735
4736 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
4737
4738         * docs/gtkfaq.sgml: threads example from Erik Mouw.
4739         New question on GtkLabel background colors.
4740
4741         * docs/gtk_tut.sgml:
4742           - Correct the example code callback
4743             function definitions.
4744           - Update the gtkdial example code, from Frans van Schaik.
4745           - Update setselection.c to current API.
4746
4747         * examples/Makefile examples/*/*.c: Update to code
4748         listed in tutorial.
4749
4750 1999-11-10  Tor Lillqvist  <tml@iki.fi>
4751
4752         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
4753         subrange table (from the "Developing International Software for
4754         WIndows 95 and Windows NT" book) was missing the Hangul syllable
4755         block... Get the loaded font's charset correctly.
4756
4757         (Note that this, and the other *-win32.c files, still really are
4758         the old ones, the win32 subdirectory is not ready for compilation
4759         yet after the reorg.)
4760
4761 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
4762
4763         * gtk/gtkclist.c: Fix off-by-one bug in parameter
4764         check.
4765
4766 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
4767
4768         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
4769         on results of XQueryDeviceState().
4770
4771 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
4772
4773         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
4774         we need to accesss only ->children. We need an accessor
4775         for the children.
4776
4777         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
4778         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
4779         to get rid of gdkx.h include.
4780         
4781         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
4782         and random references to 'None'.
4783
4784         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
4785         Get rid of unused #include <gdk/gdkx.h>
4786
4787         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
4788         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
4789         gdkconfig.h.
4790
4791 1999-11-08  Tor Lillqvist  <tml@iki.fi>
4792
4793         * gdk/win32/gdkdraw.c
4794         * gdk/win32/gdkfont.c
4795         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
4796         following yesterday's changes. (Unrelated to Owen's reorg.)
4797
4798 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
4799
4800         * gdk/x11/gdkinput-gxi.c: Add missing include,
4801           fix GdkWindowPrivate => GdkDrawablePrivate.
4802
4803         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
4804
4805         * gdk/x11/Makefile.am (xinput_sources): Add missing
4806         backslash to fix building with --with-xinput=none
4807
4808 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
4809
4810         Move all X specific code into the x11/ directory.
4811         Aside from shuffling things around, did the following:
4812
4813        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
4814          gdk_arg_context_* - a simple argument parsing system
4815          in the style of popt.
4816
4817        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
4818          gdk/x11/gdkprivate-x11.h:
4819          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
4820          add ->klass and ->klass_data fields. The klass_data
4821          field points to an auxilliary structure that is
4822          windowing system dependent.
4823
4824        * gdk/gdkfont.c: Make most of the measurement functions
4825          simply wrappers around gdk_text_extents().
4826
4827        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
4828          _gdk_font_strlen() function that hides the weird
4829          behavior in gtk+-1.[02] where a string is interpreted
4830          differently for 8-bit and 16-bit fonts.
4831
4832        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
4833          to store common code for synthesizing double/triple
4834          press events.
4835         
4836        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
4837          Make all the function that modify an existing GC
4838          simply wrappers around gdk_gc_set_values().
4839          
4840        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
4841          for throwing out later.
4842
4843        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
4844          GdkImagePrivate and GdkColormapPrivate to have a
4845          windowing system dependent part (GdkFontPrivateX etc.)
4846          that "derives" from the system-independent part.
4847
4848        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
4849          Got rid of the included-source-files for XInput in
4850          favor of automake conditionals. (Which didn't exist
4851          when XInput support was originally added.)
4852
4853        * gdk/gdkrgb.c: Remove the visual id from the debugging
4854          statements since that is X11 specific; print out
4855          type/depth info instead.
4856          
4857
4858 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
4859
4860         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
4861         loading duplicates of hashed fonts.
4862
4863         * gdk/gdk.c (gdk_keysym_convert_case): rename
4864         gdk_XConvertCase to gdk_keysym_convert_case, allow
4865         results to be NULL in the GTK+ style.
4866
4867         * gdk/gdkcompat.h: Started compatibility header
4868         for renames.
4869
4870 1999-11-07  Tor Lillqvist  <tml@iki.fi>
4871
4872         * gdk/win32/gdkprivate.h: New font private structures, related to
4873         fontsets.
4874
4875         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
4876         gdk_font_list_free(). On X11, will just be wrappers to
4877         XListFonts() and XFreeFontNames(). On Win32, the code previously
4878         in gtkfontsel.c is now here.
4879
4880         New function gdk_font_xlfd_create(). On X11 will get the FONT
4881         property of the font (for GDK_FONT_FONTs), or call
4882         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
4883         builds a XLFD style name from the font information in the LOGFONT
4884         struct(s).
4885
4886         New function gdk_font_xlfd_free(), which correspondingly frees the
4887         string returned by gdk_font_xlfd_create().
4888
4889         Implement fontsets on Win32. Add a function that iterates over a
4890         wide char string and calls a callback function for each substring
4891         of wide chars from the same Unicode subrange (and thus probably
4892         available in the same real font).
4893
4894         Improve the XLFD emulation a bit.
4895
4896         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
4897
4898         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
4899         Beta3, WM_IME_CHAR messages don't seem to contain the composed
4900         multi-byte char as with the Active IMM on Win9x. Oh well, handle
4901         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
4902         ImmGetCompositionStringW() to get the composed Unicode chars.
4903
4904         * gdk/win32/gdkgc.c
4905         * gdk/win32/gdkdraw.c: Changes needed because of the font private
4906         struct changes.
4907
4908         * gdk/win32/gdk.def: Add the new functions.
4909
4910 1999-11-04  Tor Lillqvist  <tml@iki.fi>
4911
4912         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
4913         get the Platform SDK to get <dimm.h>.
4914
4915         * gdk/win32/gdkevents.c: More event handling fixes and
4916         simplification. Never generate motion events with is_hint true. We
4917         used to do that on bogus grounds earlier. Windows sends
4918         WM_MOUSEMOVE messages on button events even if the mouse hasn't
4919         moved, ignore these.
4920
4921         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
4922
4923         * gdk/win32/gdkglobals.c
4924         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
4925         the TrackMouseEvent function, and use it.
4926
4927         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
4928         char before calling WideCharToMultiByte in order to get a string
4929         for the window title.
4930
4931         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
4932
4933         * gdk/win32/gdk.def: Remove obsolete functions.
4934
4935         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
4936         /nodefaultlib and /defaultlib switches.
4937
4938         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
4939
4940 1999-10-31  Tor Lillqvist  <tml@iki.fi>
4941
4942         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
4943         EuroSign).
4944
4945         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
4946         same type as GdkWChar, especially on Win32.
4947
4948         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
4949
4950         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
4951         before passing to Windows GDI for drawing etc. Convert to the
4952         system default codepage before passing to Windows as window
4953         titles.
4954
4955         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
4956         support changing input locale on the fly.
4957
4958         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
4959         on-the-fly changes. Convert incoming characters from the current
4960         codepage to Unicode (and then to a UTF-8 multi-byte string) based
4961         on the current input language. Use keysym<->Unicode mapping tables
4962         and functions borrowed from xterm sources.
4963
4964         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
4965         editions of Win9x, use the ActiveX-based Active IMM (Input Method
4966         Manager) if available. IMEs and the Active IMM are available under
4967         the disguise of Chinese, Korean and Japanese support for IE and
4968         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
4969         support is present in all editions (as long as you install it).
4970
4971         Call DispatchMessage from gdk_events_queue() (and thus
4972         gdk_WindowProc()), instead of duplicating the code in
4973         gdk_WindowProc().
4974
4975         Reworked the grab handling and propagation code, factored out
4976         duplicated code snippets into separate functions. Other cleanups,
4977         too.
4978
4979         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
4980         the <dimm.h> header describing the Active IMM.
4981
4982         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
4983         just do the same as for "single" fonts.
4984
4985         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
4986         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
4987         the new keysyms from gdkkeysyms.h.
4988
4989         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
4990         fontset, so that gtkentry uses wide characters.
4991
4992         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
4993         GTk+'s system directory "gtk+", not "gtk".
4994
4995 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
4996
4997         * docs/gtkfaq.sgml: FAQ update
4998
4999 1999-10-21  Tor Lillqvist  <tml@iki.fi>
5000
5001         * gdk/win32/gdkprivate.h: Add more font private data.
5002
5003         * gdk/win32/gdkfont.c
5004         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
5005         fonts and strings. Now works much better. You still have to
5006         have a correct font selected, though. No fontset emulation yet.
5007
5008 1999-10-19  Tor Lillqvist  <tml@iki.fi>
5009
5010         * gtk/maketypes.awk: Use G_OS_WIN32.
5011
5012         * gtk/gtk.def: Add some missing entry points. Also some non-public
5013         ones, but PyGTK porter claims to need them.
5014
5015         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
5016         built-in type generation.
5017
5018 1999-10-14  Tor Lillqvist  <tml@iki.fi>
5019
5020         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
5021         GDK_FONT_FONT fonts (which is all we have for now, we don't
5022         emulate fontsets). The X11 version uses plain XDrawString in that
5023         case, too. The string passed to gdk_draw_text_wc seems to be in
5024         fact (at least, when used by gtkentry and gtktext) either in a
5025         single-byte charset, or a DBCS. Not Unicode.
5026
5027         This fixes the problem in gtkfontsel, where even if you had
5028         selected a font with a non-Latin1 charset (windows-greek, for
5029         instance), the preview still used Latin-1 glyphs.
5030
5031         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
5032         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
5033         (gdk_font_load): Recognize the demibold etc weights, even if we
5034         don't have the corresponding constants in the headers.
5035         (gdk_font_hash_insert): Use same hash mechanism as in the X11
5036         version. Should save font resources a bit, when we don't have
5037         multiple HFONTs for the same font.
5038
5039         * gdk/win32/gdkprivate.h: Add the names field as in the X11
5040         version.
5041
5042 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
5043
5044         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
5045         X values
5046
5047 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
5048
5049         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
5050         layout support (as mentioned on
5051         http://www.jcinteractive.com/gnome-ui/software/widgets/)
5052
5053 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
5054
5055         * gtk/fnmatch.c
5056         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
5057
5058 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
5059
5060         * configure.in (ALL_LINGUAS): Added Galician (gl)
5061
5062 1999-10-05  Tor Lillqvist  <tml@iki.fi>
5063
5064         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
5065
5066         * gdk/win32/gdkcompat.c: New file, actually provide an
5067         implementation for the deprecated functions. (Just temporarily.)
5068
5069         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
5070
5071         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
5072
5073         * gdk/win32/gdk.def gtk/gtk.def: Updates.
5074
5075 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
5076
5077         * configure.in: Added "uk" to ALL_LINGUAS.
5078         
5079 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
5080
5081         * configure.in: correct checking for BeOS check
5082
5083         * gdk/gdktypes.h
5084         * gtk/fnmatch.c
5085         * gtk/gtkfilesel.c
5086         * gtk/gtkitemfactory.c
5087         * gtk/gtkmain.[ch]
5088         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
5089
5090 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
5091
5092         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
5093         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
5094         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
5095         by Bulgarian). 
5096
5097 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
5098
5099         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
5100         Fix a reference to window_private->destroyed.   
5101
5102         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
5103         (ugly) setting of an internal GdkWindow member to use
5104         a _slightly_ cleaner macro.
5105
5106         * gdk/gdkprivate.h: Split GdkWindowPrivate into
5107         GdkDrawablePrivate and GdkWindowPrivate.
5108         Add extra macros for accessing GDK_DRAWABLE_ components.
5109
5110         * *.[ch]: Massive adjustments for the above, use the
5111         new macros in a lot of places.
5112
5113 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
5114
5115         * gdk/gdktypes.h: Make GdkDrawable the base type,
5116         not GdkWindow.
5117
5118 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
5119
5120         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
5121
5122 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
5123
5124         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
5125
5126 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
5127
5128         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
5129         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
5130
5131         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
5132
5133         * docs/gtk-config.1: Now autogenerated.
5134         * docs/Changes-1.4.txt: started
5135         
5136 1999-10-03  Tor Lillqvist  <tml@iki.fi>
5137
5138         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
5139         to #ifdef also here.
5140
5141         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
5142         Owen did to the X11 backend.
5143
5144         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
5145         ScrollWindowEx when blitting inside a window, it can't be correct
5146         in the general case.
5147
5148         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
5149         WM_GETMINMAXINFO is easier.
5150
5151         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
5152         depth equal to the bitspixel value, not the visual's depth.
5153
5154         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
5155         to 24 even if the bitspixel value is 32.
5156
5157         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
5158         need to check for depth==32 when bpp==32, depth will always be 24.
5159
5160 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
5161
5162         * docs/Changes-1.4.txt: Started
5163         
5164         * gtk/Makefile.am (gdk_headers): Include all the new headers.
5165
5166         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
5167         
5168         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
5169         into C file.
5170         
5171         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
5172         header to gdkinputprivate.h.
5173
5174         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
5175         unused since before 1.2.
5176
5177 1999-09-30  Tor Lillqvist  <tml@iki.fi>
5178
5179         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
5180         expand possible hex escapes in the font family (put there by
5181         logfont_to_xlfd if the font name isn't a legal XLFD font family,
5182         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
5183         On Win32, add hex escapes here, too.
5184
5185 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
5186
5187         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
5188         to #ifdef GDK_WINDOWING_X11.
5189
5190 [ Merges from gtk-1-2 ]
5191
5192 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
5193
5194         * configure.in: fixed "GNU Make" check to pass with new make version
5195         3.77.95.
5196
5197 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
5198
5199         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
5200         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
5201         AM_PATH_GTK() macros don't get confused by the -pre1.
5202
5203 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
5204
5205         * configure.in (REBUILD): Change check for perl5
5206           to check explicitely for v >= 5.002. (5.001
5207           does not work with our scripts.)
5208
5209 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
5210
5211         * configure.in: evaluate $PERL for the perl version check. added
5212         --disable-rebuilds to give the user an option to completely disable
5213         any source autogeneration rules.
5214
5215 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
5216
5217         * configure.in: evaluate $ac_make when checking for GNU Make.
5218
5219 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
5220
5221         * docs/Makefile.am: added generation.txt.
5222
5223         * Makefile.am: require automake 1.4, build README from README.in and
5224         INSTALL from INSTALL.in in dist-hook.
5225         
5226         * README.in:
5227         * INSTALL.in: new files to autogenerate README and INSTALL from.
5228
5229         * configure.in: figure whether we have GNU Make
5230
5231         * docs/generation.txt: minor additions/corrections.
5232
5233 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
5234
5235         * docs/gtkfaq.sgml: FAQ Update
5236
5237 July 30, 1999 Elliot Lee <sopwith@redhat.com>
5238         
5239         * configure.in: Fix autoconf warnings about cross compilation by
5240         trying to provide sane defaults for AC_TRY_RUN.
5241
5242 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
5243
5244         * ltconfig
5245         * ltmain.sh: upgrade to libtool 1.3.3
5246
5247 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
5248
5249         * INSTALL: Indicate that the --with-glib= configure
5250         time flag is unsupported.
5251
5252 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
5253
5254         * docs/generation.txt: Added a file that gives
5255         documenation about the autogeneration process for
5256         various autogenerated files.
5257         
5258 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
5259
5260         * configure.in (LIBS): Look for libgmodule in the
5261         right location.
5262
5263 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
5264
5265         * docs/gtk_tut.sgml: Removed references to
5266         code examples in my directory on gtk.org as
5267         they should all be in the tutorial now.
5268
5269         * docs/gtk_tut.sgml: Added sources for dial-test
5270         and scribble-xinput programs that were previously
5271         missing.
5272
5273 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
5274
5275         * TODO: Added entry about menu keyboard navigation, removed
5276         some finished items.
5277
5278 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
5279
5280         * acinclude.m4: Standardize on func_dgettext
5281         not func_gettext, so that the checks for dgettext
5282         actually are paid attention to.
5283
5284 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
5285
5286         * configure.in (LIBS): Add $INTLLIBS into $LIBS
5287         directly, rather than repeating the checks for
5288         gettext.
5289
5290         * INSTALL: Added information about gettext and
5291         NLS support.
5292
5293         * acinclude.m4 (LIBM): Check for dgettext, not
5294         just gettext. This should hopefully fix things wrt
5295         systems with old versions of GNU gettext installed.
5296
5297 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
5298
5299         * configure.in (LIBS): Look for libgmodule in the
5300         right location.
5301
5302 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
5303
5304         * autogen.sh: add --enable-maintainer-mode
5305
5306         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
5307
5308 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
5309
5310         * docs/gtk-config.1.in:
5311           docs/Makefile.am:
5312           configure.in: gtk-config is now generated.
5313
5314         * docs/gtk-config.1: Removed, now generated.
5315
5316 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
5317
5318         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
5319         handle CreateNotify itself, still put out a debuging message for
5320         --gdk-debug=events. made the ReparentNotify debugging message more
5321         verbose.
5322         wrap xcoords translation for ConfigureEvents into an error trap,
5323         a destroy event may already be pending, and in that case, the
5324         actuall coordinate values are not at all critical.
5325
5326 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
5327
5328         * gdk/gdkcc.c: Stop leaking the color_hash all over
5329         the place. Simplify and improve the logic.
5330
5331 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
5332
5333         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
5334         for prototypes and function implementations consistent (reported
5335         by Tomas Ogren).
5336
5337 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
5338
5339         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
5340         send_event set in debugging output.
5341         (gdk_compress_exposures): default initialize the event so we don't
5342         operate on bogus values (namely send_event).
5343
5344 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
5345
5346         * gdk/gdkwindow.c: When we receive an unexpected
5347         destroy notify on one of our windows, don't just
5348         warn about it, also mark our windows as destroyed.
5349
5350 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
5351
5352         * gdk/gdkfont.c (gdk_font_hash_insert): Add
5353           name => font and name => fontset hashes. The 
5354           name => fontset hash is a _big_ win since we
5355           weren't previously caching fontsets at all and loading
5356           fontsets is expensive. The name => font hash
5357           is less of a win, but it does save us from doing
5358           repeated XQueryFont calls on the same font.
5359
5360         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
5361           list so we can remove font/fontset from hash.
5362
5363 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
5364
5365         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
5366           and slightly confusing test. [ XInternAtom (,,TRUE)
5367           will never return None ].
5368
5369 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
5370
5371         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
5372           gdk/gdkwindow.c (gdk_window_set_hints):
5373
5374         Don't omit setting the properties if flags == 0 -
5375         there may be an existing set of properties there
5376         already. (Very old bug. Would it be better to
5377         delete the property instead?)
5378
5379         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
5380           spelling error in comment.
5381
5382 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
5383
5384         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
5385           to avoid stomping over gdk_error_warnings.
5386
5387         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
5388           as (bits_per_pixel + 7) / 8. This gives the same
5389           result as before for multiples of 8, but actually
5390           a "reasonable" value for 1bit or 4bit displays.
5391
5392 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
5393
5394         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
5395         GNU Make.
5396
5397 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
5398
5399         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
5400         discarding configure events.
5401
5402 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
5403
5404         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
5405         refcount is greater than zero.
5406
5407         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
5408
5409         * gdk/gdkfont.c (gdk_font_unref): Likewise.
5410
5411         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
5412
5413         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
5414
5415 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
5416
5417         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
5418         that format 32 => sizeof(item) == 4. It really is
5419         sizeof(long).
5420
5421 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
5422
5423         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
5424         core dump at all on X IO errors, only core dump
5425         if --enable-debug for X errors.
5426
5427 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
5428
5429         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
5430         unknown window:" message. disabled ConfigureNotify discarding code,
5431         because it led to events being processed out of order.
5432
5433 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
5434
5435         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
5436
5437         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
5438         we export this function, supress error warnings and don't reset the
5439         error code in the first half of this function.
5440
5441         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
5442         code (instead of just -1) so gdk_error_trap_pop() reveals something
5443         actually informative about the error that happened.
5444
5445         * gdk/*.c:
5446         don't rely on gdk_error_code being -1 if an error occoured, but just
5447         gdk_error_code != 0.
5448
5449 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
5450
5451         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
5452         pointer *before* invoking the filter function, so we at least don't
5453         crash if a filter is removed that is currently executed. window filters
5454         *really* need to be made truely reentrant at some point.
5455
5456 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
5457
5458         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
5459         PropertyNotify debug messages.
5460
5461 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
5462         
5463         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
5464         
5465         * gdk/gdkim.c: Fix cut-and-paste errors for 
5466         x/y and PreeditAttributes/StatusAttributes.
5467
5468 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
5469
5470         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
5471         G_MAXINT to 2^16 to alleviate overflow problems in
5472         various window managers.
5473
5474 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
5475
5476         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
5477         for fontsets.
5478
5479 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
5480
5481         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
5482         Initialize size_hints.x and size_hints.y because kwm
5483         brokenly pays attention to them.
5484         (Bug #1181 -  Lars Heete <hel@admin.de>)
5485
5486 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
5487
5488         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
5489         return value of gdk_list_visuals(). 
5490         (Bug #1193 - Morten Welinder <terra@diku.dk>)
5491
5492 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
5493
5494         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
5495         XSetIMValues to (void *) when comparing to NULL, to workaround
5496         the problem of some compilers barfing since older X headers don't
5497         have the prototype for it.
5498
5499 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
5500
5501         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
5502         for pseudocolor where colormap->colors was double
5503         allocated.
5504
5505         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
5506         color value in the hash table with the pixel filled
5507         in so when we do later hash table lookups, the color
5508         value is correct.
5509         
5510 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
5511
5512         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
5513         making the call
5514
5515 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
5516
5517         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
5518         pointed out by Morten Welinder <terra@diku.dk>.
5519
5520 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
5521
5522         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
5523           default filter from the list
5524
5525 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
5526
5527         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
5528           default filter from the list
5529
5530 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
5531
5532         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
5533
5534         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
5535         g_strdup_printf instead of calcing the length separately
5536
5537 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
5538
5539         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
5540         that we don't do in many other places. (Fixing duplicate 
5541         #include of config.h)
5542
5543         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
5544         Otherwise, #ifndef XINPUT_NONE check in the latter
5545         doesn't work. (Bug #546)
5546
5547 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
5548
5549         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
5550         "None" case insensitive.
5551
5552 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
5553
5554         * gdk/gdkselection.c: 
5555         Add error traps so if the other end of the connection
5556         dies, we survive.
5557
5558 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
5559
5560         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
5561         dest_xid field into two fields - one for the window
5562         to send in messages, one to indicate the last looked
5563         up window for caching purposes. This is needed, so
5564         that Leave messages get the correct window.
5565
5566 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
5567
5568         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
5569         Fix warning created by people mucking around
5570         with the gsource API.
5571
5572         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
5573         Change mapping between GIOCondition and GdkInputCondition
5574         to match the way the Linux kernel does it. This should
5575         fix problems where closed pipes were no longer signalling
5576         GDK_INPUT_READ on systems with a native poll().
5577
5578 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
5579
5580         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
5581         explicitly for the string "None" - it is in the XPM
5582         spec and some servers treat unknown colors in odd ways
5583         (like asking the user!)
5584
5585 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
5586
5587         * gdk/gdkevents.c: made "->" into a "." of previous change so
5588         it compiles
5589
5590 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
5591
5592         * gdk/gdkevents.c (gdk_compress_exposures): Set the
5593         window field of the event structure before calling
5594         user filters.
5595
5596 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5597
5598         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
5599         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
5600
5601 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
5602
5603         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
5604         intermediate text property - prevents major memory
5605         leak when gdk_use_mb.
5606         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
5607
5608 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
5609
5610         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
5611         gtk-a-higuti-990322-[0-3]
5612
5613         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
5614         sizeof(wchar_t) != sizeof (GdkWChar)
5615
5616         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
5617         that was causing -DX_LOCALE not to work.
5618
5619         * gtk/gtkrc.c (gtk_rc_init):
5620         X_LOCALE will never have LC_MESSAGES defined
5621
5622         * gdk/gdk.c (gdk_init_check):
5623         Remove --xim-preedit and --xim-status from argv properly.
5624
5625         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
5626         that the client window is present on the X server
5627         before we pass it to the input method.
5628
5629 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
5630
5631         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
5632         if --display is specified on the command line, than
5633         the drag window will not be created on that display.
5634         
5635 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
5636
5637         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
5638         lookups with only_if_exists == TRUE were inserting
5639         bogus values into the atom cache.
5640
5641 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
5642
5643         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
5644         then reset it to NULL.
5645
5646         * gdk/gdkcolor.c:
5647         (gdk_colors_free): 
5648         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
5649         key for g_hash_table_remove() in both functions, this prevents us
5650         from accessing possibly uninitialized portions of a GdkColor structure
5651         where we are only interested in its pixel value.
5652
5653 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
5654
5655         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
5656         font hash table, if we have a GdkFontPrivate entry for this font
5657         already, simply increment its reference count, provided by Olaf Dietsche
5658         <olaf.dietsche+list.gtk@netcologne.de>.
5659
5660 1999-09-21  Tor Lillqvist  <tml@iki.fi>
5661
5662         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
5663         just to be sure.
5664
5665         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
5666         unused variables, leftovers from the X11 version.
5667
5668         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
5669
5670         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
5671         downcase fields on X11.
5672
5673 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
5674         
5675         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
5676         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
5677
5678 1999-09-17  Tor Lillqvist  <tml@iki.fi>
5679
5680         * gdk/win32/gdk.def: Add gdk_threads_mutex.
5681
5682         * gtk/makefile.msc: Correct path to libintl.
5683
5684         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
5685         use of gint vs. int, and gint vs. gboolean in headers and
5686         definitions. Use GtkType for the *_get_type functions. Note that
5687         these changes preserve binary compatibility.
5688
5689         * gdk/gdk.c
5690         * gdk/win32/gdk.c
5691         * gdk/gdk.h: Fix inconsistencies: gint vs int.
5692
5693         * gtk/gtkmain.c
5694         * gtk/gtkclist.c
5695         * gtk/gtkmenufactory.c
5696         * gtk/gtknotebook.c
5697         * gtk/gtkwidget.c: Fix inconsistencies, also gint
5698         vs. gboolean.
5699
5700         * gtk/gtkcolorsel.[ch]
5701         * gtk/gtkcombo.[ch]
5702         * gtk/gtkdrawingarea.[ch]
5703         * gtk/gtkgamma.[ch]
5704         * gtk/gtkhandlebox.[ch]
5705         * gtk/gtkhpaned.[ch]
5706         * gtk/gtkhruler.[ch]
5707         * gtk/gtkplug.[ch]
5708         * gtk/gtkpreview.[ch]
5709         * gtk/gtkruler.[ch]
5710         * gtk/gtksocket.[ch]
5711         * gtk/gtkstatusbar.[ch]
5712         * gtk/gtktoolbar.[ch]
5713         * gtk/gtkvbbox.[ch]
5714         * gtk/gtkvpaned.[ch]
5715         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
5716         functions.
5717
5718         * gtk/gtkgamma.h: Fix bug, missing () in call of
5719         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
5720
5721 1999-09-14  Tor Lillqvist  <tml@iki.fi>
5722
5723         * gdk/gdkcolor.c (gdk_colormap_new)
5724         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
5725         colormap->colors was allocated twice.
5726
5727         * gdk/win32/gdk.c: Remove some unused stuff.
5728
5729         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
5730         colormap.
5731
5732         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
5733         * gtk/gtklabel.h (gtk_label_get_type)
5734         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
5735         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
5736         in a couple of places, not guint.
5737
5738 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
5739
5740         * configure.in,po/et.po: added Estonian language file
5741
5742 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
5743
5744         * configure.in,po/da.po: added Danish file
5745
5746 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
5747
5748         * docs/gtkfaq.sgml: Minor FAQ Update
5749
5750 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
5751
5752         * docs/gtkfaq.sgml: FAQ update
5753
5754 1999-08-27  Tor Lillqvist  <tml@iki.fi>
5755
5756         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
5757         way to get window contents continually refreshed while resizing. I
5758         didn't like the effects myself, so it's not on by default.
5759
5760         * gdk/win32/gdkprivate.h: New flag variable
5761         gdk_event_func_from_window_proc, FALSE by default.
5762
5763         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
5764         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
5765         are passed --gdk-event-func-from-window-proc.
5766
5767         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
5768         and we have am event_func, call it instead of enqueing the event.
5769
5770 1999-08-23  Tor Lillqvist  <tml@iki.fi>
5771
5772         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
5773         Kelley: Set expose_count in GdkEventExposes correctly.
5774
5775         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
5776         MULTIPLE_WINDOW_CLASSES).
5777
5778         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
5779         for bug in NT, apparently NT *does* draw the end pixel, too, in
5780         LineTo with a one-pixel pen, so we don't have to do it ourselves.
5781
5782 1999-08-21  Tor Lillqvist  <tml@iki.fi>
5783
5784         Improvements by Hans Breuer: 
5785
5786         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
5787
5788         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
5789         CS_?REDRAW flags as they cause lots of (late) redraws when "show
5790         window contents while dragging" is turned on. Allocate at least
5791         one unique class for every GdkWindowType. If support for single
5792         window-specific icons is ever needed (eg. Dialog specific), every
5793         such window should get its own class.
5794
5795 1999-08-19  Tor Lillqvist  <tml@iki.fi>
5796
5797         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
5798         error that caused crashes.
5799
5800 1999-08-17  Tor Lillqvist  <tml@iki.fi>
5801
5802         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
5803         window, use ScrollWindowEx, and call UpdateWindow. This prevents
5804         bugs when for instance part of the window was outside the
5805         display. Thanks to Philippe Colantoni for finding and fixing this.
5806
5807 1999-08-16  Tor Lillqvist  <tml@iki.fi>
5808
5809         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
5810         endpoint calculations which were totally wrong. (A little RTFMing
5811         helps a lot ;-)
5812
5813         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
5814         from a separate directory, not from gettext, because of licensing
5815         issues (we want to use the LGPL version).
5816
5817         * README.win32: Mention the intl from glibc vs from gettext issue.
5818
5819 1999-08-13  Tor Lillqvist  <tml@iki.fi>
5820
5821         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
5822         in the key event handling: Now AltGr chars work again. Also,
5823         now Alt-digits are passed up as well as Control-digits.
5824         Pass keypad plus and minus as normal plus and minus.
5825
5826 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
5827
5828         * docs/gtkfaq.sgml: FAQ Update
5829
5830 1999-07-25  Tor Lillqvist  <tml@iki.fi>
5831
5832         * README.win32
5833         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
5834         the Wintab SDK.
5835
5836         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
5837         OK, but getting closer. Guard against bogus tilt data from Wacom
5838         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
5839         enable easier building without Wintab.
5840
5841         * gdk/win32/gdkinput.h
5842         * gdk/win32/gdkevents.c 
5843         * gdk/win32/gdkwindow.c: Minor changes related related to above.
5844         
5845         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
5846         code. As we have just one visual on Win32, no sense to have it in a
5847         table, and no need for the hash table.
5848
5849         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
5850         better on white background.
5851
5852 1999-07-21  Tor Lillqvist  <tml@iki.fi>
5853
5854         * README.win32: Update gcc build instructions. Mention gettext is
5855         GPL.
5856
5857         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
5858         supported cursor size with GetSystemMetrics.
5859
5860         * gdk/win32/gdkfont.c
5861         * gtk/gtkfontsel.c: Guard against some font weight and charset
5862         symbols being undefined (in mingw32 headers).
5863
5864         * gdk/win32/makefile.cygwin
5865         * gtk/makefile.cygwin
5866         * gtk/gtkthemes.c: No longer need to have differently named
5867         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
5868
5869 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
5870
5871         * docs/gtkfaq.sgml: Long awaited FAQ update.
5872
5873 1999-07-15  Tor Lillqvist  <tml@iki.fi>
5874
5875         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
5876         it. Obscure bit manipulation needed.
5877
5878         * gdk/win32/gdkevents.c: Logging.
5879         
5880         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
5881         style (file name include compiler name) for theme engines.
5882
5883 1999-07-13  Tor Lillqvist  <tml@iki.fi>
5884
5885         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
5886
5887         * gdk/win32/gdkevents.c: Fix long-standing bug in key
5888         events. The key.string wasn't zero-terminated, still we strdup'ed
5889         it in gdk_event_copy(). Synthesize crossing events for button
5890         events before possible propagation.
5891
5892         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
5893
5894         * gdk/win32/makefile.cygwin
5895         * gtk/makefile.cygwin: Use new DLL naming style for the
5896         GCC-compiled ones.
5897
5898         * gdk/win32/makefile.msc
5899         * gtk/makefile.msc: Cosmetics mostly.
5900
5901         * gtk/gtk.def: Add missing entry points.
5902
5903         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
5904
5905 1999-07-09  Tor Lillqvist  <tml@iki.fi>
5906
5907         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
5908         or height is zero. Don't print a warning if Pie or Arc fails, they
5909         always fail (?) for very narrow ellipses.
5910
5911         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
5912         the part or the destination window corresponding to source area
5913         outside of the source drawable's boundary.
5914
5915         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
5916         anything if less than two points.
5917
5918         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
5919         return NULL. Gtk cut-and-paste inside a single program works
5920         better this way. (It always gets the clipboard contents from
5921         Windows, not from its own copy, which is cleared anyway. I can't
5922         say I fully understand what happens... Emulating the X selection
5923         and property stuff is a bit of a mess.)
5924
5925         * gdk/win32/gdkevents.c
5926         * gdk/win32/gdkproperty.c: A bit more verbose logging.
5927
5928         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
5929         that never got deleted). Revamp gdk_region_shrink.
5930
5931         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
5932         after use.
5933
5934         * gtk/gtk.def: Add some missing entry points.
5935
5936         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
5937         component.
5938
5939 1999-07-04  Tor Lillqvist  <tml@iki.fi>
5940
5941         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
5942         Control-digits specially.
5943
5944 1999-07-03  Tor Lillqvist  <tml@iki.fi>
5945
5946         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
5947
5948 1999-06-28  Tor Lillqvist  <tml@iki.fi>
5949
5950         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
5951         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
5952         finding this.)
5953
5954 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
5955
5956         * gtk+.spec.in: Corrected some typos in files section.
5957         
5958 1999-06-15  Tor Lillqvist  <tml@iki.fi>
5959
5960         * README.win32: Mention using GNU gettext.
5961         * config.h.win32: Enable NLS stuff.
5962         * gtk/makefile.msc: Use GNU gettext.
5963         * gdk/win32/gdkdnd.c: Minor header reorg.
5964         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
5965         cosmetics.
5966         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
5967         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
5968
5969 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
5970
5971         * acinclude.m4
5972         * config.guess
5973         * config.status
5974         * ltconfig
5975         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
5976
5977 1999-05-30  Tor Lillqvist  <tml@iki.fi>
5978
5979         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
5980         SafeAdjustWindowRectEx. Don't override all calls to
5981         AdjustWindowRectEx by it, but use it only in two places: When
5982         creating a new top-level window and when moving a top-level
5983         window.
5984
5985         Use screen coordinate rectangle, not client rectangle, in
5986         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
5987         when we try to place a window so that the decoration (mainly,
5988         title bar) isn't visible.
5989
5990         These changes fix the bug that showed up for instance as the
5991         GIMP's saved top-level windows moving right and down (by an amount
5992         equal to the window decoration) for each session. This bug showed
5993         up also in testgtk's "Saved Position".
5994
5995         gdk_window_resize also redone a bit.
5996
5997 1999-05-25  Tor Lillqvist  <tml@iki.fi>
5998
5999         * gtk/testgtkrc: Add (commented out) Windows-style theme
6000         include line.
6001
6002         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
6003
6004 1999-05-18  Tor Lillqvist  <tml@iki.fi>
6005
6006         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
6007         gdkx.h to a gdk subdirectory, so that applications can include
6008         these with <gdk/*.h> without trouble.
6009
6010         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
6011         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
6012         have their bitmap destroyed.
6013
6014         * gdk/win32/gdk.def: Add gdk_root_parent.
6015
6016 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
6017
6018         * configure.in
6019           gtk-config.in
6020           ltconfig
6021           ltmain.sh     
6022           gtk/Makefile.am: changes to compile nicely (with xlib) 
6023           on BeOS
6024
6025 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
6026
6027         * acinclude.m4
6028         * config.guess
6029         * config.sub
6030         * ltconfig
6031         * ltmain.sh: upgrade to libtool 1.3
6032
6033 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
6034
6035         * gtk/gtkclist.c:
6036         * gtk/gtkctree.c: merges from gtk-1-2
6037
6038 1999-04-25  Tor Lillqvist  <tml@iki.fi>
6039
6040         Support added for building using a GNU toolchain on Win32,
6041         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
6042
6043         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
6044         * config.h.win32: Changes for gcc.
6045         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
6046         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
6047         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
6048         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
6049         Protect shl stuff unavaiilable with mingw32 headers.
6050         * gdk/win32/gdkevents.c: Fix typo.
6051         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
6052         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
6053         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
6054         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
6055         the mingw32 headers.
6056         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
6057         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
6058         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
6059         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
6060         Test for NATIVE_WIN32, not _MSC_VER.
6061         * gtk/gtkmain.c: No use warning about developer version on Win32,
6062         there aren't any non-developer versions anyhow.
6063         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
6064         * gtk/makefile.msc: Use pthread from another directory. Minor other
6065         changes. 
6066
6067 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
6068
6069         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
6070           default filter from the list
6071
6072 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
6073
6074         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
6075          when gtk_widget_grab_default() is called for a widget that
6076          is not within a GtkWindow.
6077
6078 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
6079
6080         * docs/gtk_tut.sgml, examples/clist.c: use a
6081           scrolled window in the clist example. Minor
6082           tutorial fixes.
6083
6084 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
6085
6086         * docs/gtk_tut.sgml: Style check from David King
6087           <dking@youvegotmail.net>
6088
6089 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6090
6091         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
6092         compile with unknown value of GDK_WINDOWING
6093
6094 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
6095
6096         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
6097         after the rule is fired.
6098         (install-exec-local): Install gdkconfig.h only if the contents are
6099         different from the currently installed gdkconfig.h.
6100
6101 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
6102
6103         * gdk/Makefile.am (configexecincludedir): Rename from 
6104         configincludedir so that gdkconfig.h will be installed 
6105         as part of `make install-exec'. 
6106
6107 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
6108
6109         * acinclude.m4
6110         * config.guess
6111         * config.sub
6112         * ltconfig
6113         * ltmain.sh: upgrade to libtool 1.2f
6114
6115         * autogen.sh: libtool is not required to autogen gtk+
6116
6117         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
6118         needed)
6119
6120 1999-03-18  Tor Lillqvist  <tml@iki.fi>
6121
6122         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
6123         declaring gdk variables exported/imported from the DLL. New image
6124         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
6125         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
6126         GDK_DRAG_PROTO_OLE2.
6127
6128         * gdk/gdk.h: Merge in Win32 version: Two new functions,
6129         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
6130         declared only for the Win32 version, but could be in the X11
6131         version as well. (Needed for a Xlib-less gdk_imlib.)
6132         gdk_color_hash should have only one parameter. Declare
6133         gdk_threads_mutex with GDKVAR.
6134         
6135         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
6136         just one parameter.
6137
6138         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
6139         per pixel, not bits.
6140
6141         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
6142         Fetch bpp (which means bits-per-pixel here) from another place on
6143         Win32. Accept also depth==32 (which we might get on Win32) with
6144         bpp==32.
6145
6146         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
6147         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
6148         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
6149         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
6150         in the backend-dependent directory, not in the common gdk
6151         directory.
6152
6153         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
6154         headers.
6155
6156 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
6157
6158         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
6159         want to use the Gtk+ devel version (which is true, and yes - even i am
6160         currently working with the 1.2.x branch). so everyone reading this, you
6161         probably want to issue
6162         cvs checkout -r glib-1-2 glib
6163         and
6164         cvs checkout -r gtk-1-2 gtk+
6165         as your next two comands.
6166
6167 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
6168
6169         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
6170         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
6171
6172         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
6173         file. strongly deprecated the GTK_HAVE_* macros, we provide
6174         GTK_CHECK_VERSION() for people that need to check for certain
6175         Gtk+ versions.
6176
6177         * gtk/gtkcompat.h: removed this from CVS.
6178         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
6179         idea right from the start, it just didn't seem like that back then.
6180
6181 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
6182
6183         * merges from gtk-1-2:
6184
6185 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
6186
6187         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
6188         item factory class has been created.
6189         (gtk_item_factory_parse_rc): likewise.
6190
6191         * gtk/gtkmenu.c:
6192         keep proper references for old_active_menu_item.
6193         (gtk_menu_reparent): unset the usize of the new parent,
6194         so the menu can sanely be size requested and we don't get nasty screen
6195         artefacts upon next reparentation.
6196         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
6197         enter notify. only synthesize enter notifies if the pointer really is
6198         inside the event window.
6199         (gtk_menu_popdown): use gtk_menu_shell_deselect().
6200         (gtk_menu_popup): move the background setting stuff into
6201         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
6202
6203         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
6204         gtk_menu_shell_select_item() to select the new item.
6205         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
6206         do the right thing for deselection as well.
6207
6208 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
6209
6210         * gtk/gtkwidget.[hc]:
6211         (gtk_widget_accelerators_locked): return whether a widget's accelerators
6212         are locked.
6213
6214         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
6215         existing accelerators if the widget's accelerators are locked.
6216
6217 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
6218
6219         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
6220
6221         * gtk/gtkmenu.c: truely forward key press and key release events to
6222         the menu widget from the toplevel or tearoff window. we can't simply
6223         connect to that, we need to stop further processing of the events as
6224         well.
6225
6226 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
6227
6228         * gtk/gtkmenu.c:
6229         (gtk_menu_key_press): pass event->keyval, event->state to
6230         gtk_accelerator_valid, instead of event->keyval twice.
6231         refuse to install single letter accelerators for menus that use
6232         single letter shortcuts.
6233
6234         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
6235         gtk_menu_ensure_uline_accel_group().
6236
6237         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
6238         which will always return an uline accel group, made
6239         gtk_menu_get_uline_accel_group() return NULL if the group isn't
6240         yet created.
6241
6242 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
6243
6244         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
6245
6246         * gtk/gtkclist.c (gtk_clist_column_title_passive):
6247         Leave button sensitive, trap  button_press, button_release,
6248         motion_notify, enter_notify and leave_notify events instead.
6249         (gtk_clist_column_title_active): disconnect event handler.
6250         (gtk_clist_drag_data_get): fixed memory leak. Reported by
6251         Guillaume Laurent <glaurent@worldnet.fr>
6252
6253 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
6254
6255         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
6256         width/height mixups.
6257
6258         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
6259         if needed.
6260
6261 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
6262
6263         * gtk/testgtk.c (create_item_factory): unref the item factory after
6264         window's destruction.
6265
6266         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
6267         count on the menu shell around the menu item's activation, since the
6268         signal emission may cause menu shell destruction.
6269
6270         * gtk/gtkitemfactory.c:
6271         the previous code leaked one accel group per menu. we use
6272         gtk_menu_get_uline_accel_group() now to fix that, and with that
6273         also create the underline accelerator group of the menus only if
6274         required (i.e. an underline accelerator has been specified).
6275         (gtk_item_factory_construct):
6276         (gtk_item_factory_create_item): removed code that would create an
6277         extra accel group for the menu (and leak references).
6278         (gtk_item_factory_create_item): adapted the underline accelerator
6279         installation code to properly feature gtk_menu_get_uline_accel_group().
6280
6281         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
6282         menu->accel_group, this may return NULL if the accelerator group
6283         hasn't been set yet.
6284         added gtk_menu_get_uline_accel_group() to retrive the underline
6285         accelerator group of the menu, this will be created on demand
6286         and proper care is taken about its reference count.
6287
6288         * gtk/gtkitemfactory.h:
6289         * gtk/gtkitemfactory.c:
6290         dumped the approach of keeping a widgets by action list on the
6291         factory since the factory<->widget destroy negotiation didn't work
6292         and would be hard to get going at all. instead we keep a list of
6293         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
6294         persistant throughout a program's life time).
6295         also, i removed the static const gchar *key_* variables, and made
6296         them inline strings (they weren't actually used anyways).
6297         (gtk_item_factory_add_item): update ifactory->items.
6298         (gtk_item_factory_destroy): destroy ifactory->items (and remove
6299         the item factory pointer from the remaining ifactory widgets).
6300         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
6301         list to find the widget.
6302         (gtk_item_factory_get_item): new function that works around
6303         gtk_item_factory_get_widget() limitations, this function will only
6304         return menu items, even for <Branch> entries.
6305
6306 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
6307
6308         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
6309         font hash table, if we have a GdkFontPrivate entry for this font
6310         already, simply increment its reference count, provided by Olaf Dietsche
6311         <olaf.dietsche+list.gtk@netcologne.de>.
6312
6313         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
6314         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
6315
6316 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
6317
6318         * gtk/gtkcontainer.c:
6319         (gtk_container_add_with_args):
6320         (gtk_container_addv):
6321         (gtk_container_add): before adding a child to a conatiner, make sure
6322         it is (default) constructed, this is neccessary because under certain
6323         circumstances the child will get relized and mapped immediatedly, in
6324         which case it has to be constructed already.
6325
6326 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
6327
6328         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
6329         values > 1 as TRUE also.
6330
6331 1999-03-16  Tor Lillqvist  <tml@iki.fi>
6332
6333         * README.win32: New file.
6334                 
6335         * configure.in: Check for lstat.
6336
6337         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
6338         completeness.
6339
6340         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
6341
6342         * gtk/gtk.def: Removed CRs.
6343
6344         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
6345         ..\gdk\win32).
6346
6347         * gdk/win32/makefile.msc: Correct upwards relative paths.
6348         
6349 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
6350
6351         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
6352           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
6353           it was connecting a void function to expose_event and the int
6354           returning function to the draw signal
6355
6356 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
6357
6358         * configure.in:
6359         Use correct path to libgmodule.la when ref'ing uninstalled copy
6360         of glib.  (Already in stable branch, Bug #417)
6361
6362 1999-03-15  Tor Lillqvist  <tml@iki.fi>
6363
6364         Win32 merge and general portability stuff:
6365                 
6366         * acconfig.h,configure.in: Check for <sys/time.h>.
6367
6368         * gdk/win32: New directory (actually, been there for a while).
6369         
6370         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
6371         NATIVE_WIN32, and use these. Always case fold on Win32. No
6372         backslashed escapes on native Win32.
6373
6374         * gtk/{gtk.def,makefile.msc}: New files.
6375
6376         * gtk/Makefile.am: Add above new files.
6377         
6378         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
6379         instead of <strings.h>.
6380
6381         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
6382         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
6383         <unistd.h> appropriately.
6384
6385         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
6386         Use ABS() (from <glib.h>) instead of abs().
6387         
6388         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
6389         of gtk (and thus glib) headers, so that WIN32 will be
6390         defined. With MS C, include <direct.h> for mkdir prototype.
6391
6392         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
6393         some casts, needed by MS C.
6394
6395         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
6396         implemented).
6397
6398         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
6399         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
6400         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
6401
6402         * gtk/gtkmain.h: Mark variables for export/import on Win32.
6403                 
6404         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
6405         the event is not a hint, or its window is not the slider. Needed
6406         on Win32, at least.
6407
6408         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
6409         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
6410         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
6411         a subdirectory of the Windows directory as gtk system
6412         configuration directory.
6413
6414         * gtk/gtkselection.c: No chunks on Win32.
6415
6416         * gtk/gtksocket.c: Not implemented on Win32.
6417
6418         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
6419
6420         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
6421
6422         * gtk/maketypes.awk: Declare variables with a macro that expands to
6423         necessary export/import magic in the case of Win32.
6424                 
6425         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
6426
6427 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
6428
6429         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
6430         since those were meant only for gdki18n.h.  
6431         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
6432         for widechar tests.
6433         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
6434
6435 1999-03-13  Tor Lillqvist  <tml@iki.fi>
6436
6437         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
6438         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
6439
6440         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
6441         installed) to CFLAGS.
6442
6443         * gdk/Makefile.am: Add rules for gdkconfig.h.
6444
6445         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
6446         APIs.
6447
6448         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
6449         gdkx.h anyway when compiling for X11.
6450         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
6451         general): Merge in Win32 version.
6452         
6453         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
6454         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
6455         expansion (if we don't have HAVE_PWD_H), allow for drive
6456         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
6457         included code from Craig Setera's port to Win32 (the one that uses
6458         X11, and the cygwin dll), even if it probably will be abandoned.
6459
6460         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
6461         the user entered one herself.  This way one can complete *.h and
6462         don't get matches on any .help files, for instance.
6463         
6464 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
6465
6466         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
6467         font hash table, if we have a GdkFontPrivate entry for this font
6468         already, simply increment its reference count, provided by Olaf Dietsche
6469         <olaf.dietsche+list.gtk@netcologne.de>.
6470
6471         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
6472         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
6473
6474 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6475
6476         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
6477         the number of calls to gdk_draw_point() (and thus to X) by
6478         clipping the points by hand.
6479
6480         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
6481         the clip parameter.
6482         (gtk_handle_box_paint): Only paint the handle if the expose area
6483         intersects it.
6484
6485 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
6486
6487         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
6488
6489 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
6490
6491         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
6492         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
6493
6494 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
6495
6496         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
6497          textmode (O_TEXT) for OS/2 version.
6498
6499 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
6500
6501         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
6502         GtkSpinButton, "input" and "output", to make the output more flexible.
6503         The user has to provide a mapping between adjustment->value and the
6504         output string (and vice versa, if the spin button is editable). 
6505         See testgtk for examples.
6506
6507 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
6508
6509         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
6510         new one.
6511         
6512         * configure.in: set gtk+ version to 1.3.0.