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