]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Internal GDK error reporting changes: (gdk_win32_gdi_failed) New function
[~andy/gtk] / ChangeLog.pre-2-10
1 2000-03-07  Tor Lillqvist  <tml@iki.fi>
2
3         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
4         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
5         for which it is no use to call GetLastError onWin9x.
6         (gdk_other_api_failed) New function, for general error
7         reporting without calling GetLastError.
8         (gdk_win32_api_failed) OTOH, this function always calls
9         GetLastError. (gdk_win32_last_error_string) Remove this function,
10         GLib has the equivalent now.
11
12         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
13         call them with function name, file name and line number in the
14         arguments.
15
16         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
17         functions.
18         
19         * gtk/gtk.def: Add some missing entry points.
20
21         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
22         gtk_paned_set_gutter_size, which don't exist any longer, as void.
23         
24         Fixes by Hans Breuer:
25
26         * gdk/makefile.msc: Update for debugging.
27
28         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
29         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
30         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
31         in the dash_list.
32
33         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
34         the x11 backend.
35
36         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
37
38         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
39
40 2000-03-04  Tor Lillqvist  <tml@iki.fi>
41
42         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
43         just pixel value of background colour.
44
45         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
46         containing code snippet previously duplicated in a couple of
47         places.
48         
49         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
50         gdk_colormap_color.
51
52         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
53         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
54         events for autorepeated Shift, Control and Alt keys. Use
55         gdk_colormap_color.
56
57         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
58         pointer is inside the window the cursor of which we are setting,
59         call SetCursor immediately.
60
61         * gdk/win32/makefile.cygwin
62         * gtk/makefile.cygwin: If we don't have the build number stamp
63         file, use zero.
64
65         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
66         gtk_paned_set_gutter_size as empty.
67
68         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
69         
70 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
71
72         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
73           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
74           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
75           docs/gtk_tut.sgml docs/gtk.texi TODO:
76
77           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
78
79 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
80
81         * gtk/gtkcalendar.c: Implement num_marked_dates,
82           and don't emit mutiple day_selected signals on
83           month_prev.
84
85 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
86
87         * docs/make-todo (lineno): let title and logo be configurable so
88         that GNOME can use this script too.
89
90         * TODO.xml: added logourl and a title
91
92 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
93
94         * TODO.xml: Added some UI items, and an explanatory
95         comment at the top of the file.
96
97 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
98
99         * TODO.xml: some updates, added abunch of new entries.
100         a note for those fiddeling with this file, when done
101         with it, invoke:
102         $ ./docs/make-todo TODO.xml >/dev/null
103         and correct output errors before comitting changes.
104
105 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
106
107         * TODO.xml: Added XML-structured TODO file.
108         * docs/make-todo: python script to turn TODO.xml into
109           pretty XML output. 
110
111 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
112
113         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
114         the function to let it draw the seven dots, instead of the old,
115         much maligned, method.
116         (draw_dot): New function to draw a dot.
117
118         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
119         to draw the handle inside the border width as opposed to outside.
120         Use paint function instead of gdk_draw_point.
121
122         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
123         to draw the handle inside the border width as opposed to outside.
124         Use paint function instead of gdk_draw_point.
125
126         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
127         Change indenting to be more GTK like.
128
129 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
130
131         * docs/gtk_tut.sgml: New section on GtkCalendar
132         * examples/calendar: Update example code
133
134 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
135
136         * docs/gtkfaq.sgml: FAQ Update
137
138 2000-02-19  Anders Carlsson  <andersca@gnu.org>
139
140         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
141         to prevent the scroll event to be propagated upwards.
142
143 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
144
145         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
146         OwnerGrabButtonMask from button entries for
147         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
148
149         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
150         to the event mask (which will result in button/press release
151         being added to the event mask on Unix) so scrolling works
152         for layouts in scroll windows.
153
154         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
155
156         Patch from Anders Carlsson  <andersca@gnu.org> to add
157         a scroll event.
158
159         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
160         scrolling to the "Test Scrolling" part of testgtk.
161  
162         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
163  
164         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
165         it against GDK_SCROLL.
166  
167         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
168         way of mouse wheel scrolling.
169  
170         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
171  
172         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
173  
174         * gtk/gtkmain.c: Removed previous mouse wheel hack.
175  
176         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
177         gdk_event_mask_table.
178  
179         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
180         GdkEventScroll handler.
181  
182         * gdk/gdkevents.h: Added GdkEventScroll structure.
183  
184 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
185
186         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
187         and Anders Carlsson to change the Paned widgets so that they
188         can be dragged from anywhere along the length. Also change
189         the way that this is drawn to make this apparent.
190
191         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
192         from George Lebl to check that option_menu->menu is present
193         before getting history.
194
195 2000-02-14  Tor Lillqvist  <tml@iki.fi>
196
197         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
198         before the assertion for non-NULL segment list.
199
200         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
201         Seems that pattern brushes *must* be 8x8 pixels! At least on my
202         machine, but it might be display driver dependent. Sigh, so make
203         sure the stipple is that size. Does Windows suck or what?
204
205         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
206         places.
207
208 2000-02-13  Havoc Pennington  <hp@pobox.com>
209
210         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
211         refcount to 1
212         (gdk_cursor_new): init refcount to 1
213
214         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
215
216 2000-02-13  Tor Lillqvist  <tml@iki.fi>
217
218         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
219         so that we don't have to do unnecessary settings to the HDC.
220
221         * gdk/win32/gdkdrawable-win32.c
222         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
223         gdk_gc_predraw.
224
225         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
226         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
227         GDI paths, call WidenPath to get the outline of the stroken path,
228         and then fill the outline (with the brush that was built from the
229         stipple).
230
231         * gdk/win32/gdkgc-win32.c: Factor out common code from
232         _gdk_win32_gc_new and gdk_win32_gc_set_values into
233         gdk_win32_gc_values_to_win32values. Use correct colour for
234         SetBkColor() (Until now the code actually used a random colour in
235         the call to SetBkColor()... but that didn't show up as not many
236         GDI APIs use the background colour. Pattern (opaque stippled)
237         brushes do.)
238
239         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
240         gdk_win32_api_failed): New functions for error logging.
241
242         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
243         WIN32_API_FAILED to call them, passing function or file name and
244         line number.
245
246         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
247
248         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
249         GdkColor for foreground and background in GdkGCWin32Data.
250
251         * gdk/makefile.cygwin: Link in the resource object separately.
252
253         * gdk/win32/rc/gdk.rc
254         * gtk/gtk.rc (New file)
255         * gdk/win32/makefile.cygwin
256         * gtk/makefile.cygwin: Update build number in DLLs automatically,
257         as in GLib.
258
259 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
260
261         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
262         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
263         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
264         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
265         parameters given and cursor->ref_count. coding style fixups.
266
267         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
268         not GtkWidget.
269         
270         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
271         fix up widget macros and add _GET_CLASS() variant.
272         
273         * gtk/*.c: some GtkType fixups.
274
275 2000-02-09  Tor Lillqvist  <tml@iki.fi>
276
277         * gdk/win32/gdkproperty-win32.c
278         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
279         were reversed.
280
281 2000-02-04  Tor Lillqvist  <tml@iki.fi>
282
283         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
284         g_filename_to_utf8 to convert the font names Windows gives us from
285         whatever is the default codepage to UTF-8.
286         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
287         in the other direction.
288
289         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
290         error in debugging output.
291
292 2000-02-02  Tor Lillqvist  <tml@iki.fi>
293
294         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
295         and height parameters to gdk_window_clear_area(). Not minus one.
296
297 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
298
299         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
300         checks if the widget passed to gtk_drag_get_data() was not the
301         dest widget.
302
303 2000-02-01  Tor Lillqvist  <tml@iki.fi>
304
305         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
306         g_filename_from_utf8 functions (which were added a moment ago to
307         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
308         size buffers.
309
310         gtk_file_selection_get_filename returns the filename in the C
311         runtime encoding. It calls g_filename_from_utf8, but copies the
312         returned string to a static buffer, which is returned. I think
313         this is better than returning the result from g_filename_from_utf8
314         directly, which would mean all apps that use it would have to free
315         the return value. Or should this function care about this issue at
316         all? Maybe a new function with clearly defined semantics.
317
318         * gtk/gtkfilesel.h: Add comment about
319         gtk_file_selection_get_filename returning the filename in the C
320         runtime's encoding.
321
322         * README.win32
323         * gdk/gdk.def
324         * gdk/makefile.{cygwin,msc}
325         * gtk/gtk.def: Updates.
326
327         * gdk/gdkcursor-win32.c: Initialise refcount.
328
329 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
330
331         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
332
333 2000-01-30  Havoc Pennington  <hp@pobox.com>
334
335         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
336         destroy
337
338         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
339
340         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
341         implemented in platform-specific code
342
343         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
344
345         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
346         underscore in front
347
348         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
349         put an underscore in front
350
351         * gdk/gdkcursor.c: new file, implements
352         gdk_cursor_ref/gdk_cursor_unref
353
354         * gdk/gdkcursor.h: Refcount GdkCursor
355
356         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
357
358 2000-01-29  Tor Lillqvist  <tml@iki.fi>
359
360         * gdk/gdkwindow.h
361         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
362
363 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
364
365         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
366         structures to properly inherit from GtkWidget not GtkBin.
367
368 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
369
370         * gtk+.spec.in: Added lib/gtk+/include/* to %files
371         (bug #5178 - Peter Wainright)
372         
373         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
374         so that it will be installed.
375         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
376
377 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
378
379         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
380         for the GtkStyleClass vtable const.
381
382         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
383         take a const string argument like GtkTranslateFunc. This will
384         require changes in use code.
385
386 2000-01-19  Tor Lillqvist  <tml@iki.fi>
387
388         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
389         semantics (to mimic the X11 backend, which just calls XClearArea)
390         is to check for zero width (and height), and in that case use the
391         window's width minus x (height minus y). This fixes for instance
392         some redraw problems with gtkclist, which were easily noticeable
393         in the gtk file selection widget.
394
395         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
396         windows.
397
398 2000-01-13  Tor Lillqvist  <tml@iki.fi>
399
400         * configure.in
401         * gdk/Makefile.am
402         * gdk/x11/Makefile.am
403         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
404         (bug #5177).
405         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
406         out later.
407
408 2000-01-09  Tor Lillqvist  <tml@iki.fi>
409
410         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
411         WM_MOVE for iconified or invisible windows. This fixes various
412         problems when minimising windows. Thanks to Bernd Herd.
413
414 2000-01-05  Tor Lillqvist  <tml@iki.fi>
415
416         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
417         backend's draw_lines method, not draw_points.
418
419 2000-01-02  Tor Lillqvist  <tml@iki.fi>
420
421         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
422         before Owen's reorganisation: Don't have queued_events and
423         queued_tail statics in this file, but use gdk_queued_events and
424         gdk_queued_tail. This makes exposure event compression work again.
425
426         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
427         seem to be needed?
428
429 1999-12-30  Tor Lillqvist  <tml@iki.fi>
430
431         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
432         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
433         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
434         doesn't do anything.
435
436         * gdk/gdk.def: Add gdk_xid_table_insert.
437
438         * gdk/win32/gdkprivate-win32.h
439         * gdk/win32/gdkevents-win32.c
440         * gdk/win32/gdkinput-win32.c
441         
442         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
443         extension_events field in the GdkWindowWin32Data struct. Use only
444         the extension_events field in GdkWindowPrivate. Previously one was
445         set, and the other one tested, which broke tablet
446         functionality. Thanks to Keishi Suenaga for pointing this out.
447
448 1999-12-18  Tor Lillqvist  <tml@iki.fi>
449
450         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
451         When handling a single character (text length == 1), don't handle
452         it as if it was UTF-8.
453
454 1999-12-11  Tor Lillqvist  <tml@iki.fi>
455
456         * Makefile.am: Distribute README.win32.
457         
458         * gdk/Makefile.am
459         * gdk/win32/Makefile.am: Distribute Win32 files.
460
461         * gdk/makefile.msc: New file.
462
463         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
464         after label).
465
466         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
467         gdk_error_code as GDKVAR, as they are referred outside GDK.
468
469         * gdk/win32/makefile.msc: Update.
470
471         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
472         tweaks. Check only if at least one of those Unicode subrange bits
473         we care for is set. If no code page bits are set, guess (wildly)
474         based on the charset.
475
476         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
477
478         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
479         non-NULL.
480
481         * gtk/gtkdnd.c
482         * gtk/gtklayout.c
483         * gtk/gtkplug.c
484         * gtk/gtkselection.c
485         * gtk/gtksocket.c
486         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
487         appropriate. There must be a cleaner way to handle this?
488
489         * gtk/gtkrc.c: Must include windows.h on Win32.
490
491         * gtk/testgtk.c: No need to include gdkx.h.
492
493         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
494
495 1999-12-07  Tor Lillqvist  <tml@iki.fi>
496
497         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
498         the rbearing is set to the same as the width, but this should be
499         fixed.
500
501 1999-12-06  Tor Lillqvist  <tml@iki.fi>
502
503         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
504         function. If Windows doesn't tell us what Unicode subranges a font
505         covers, guesstimate based on the codepages it covers. This will
506         hopefully help those Windows versions or fonts that don't give us
507         any useful Unicode subrange information with GetTextCharsetInfo.
508         Call this function in gdk_font_load_internal.
509
510         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
511         minor changes.
512
513 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
514
515         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
516         New function, long needed.
517
518 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
519
520         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
521         only_if_exists argument of gdk_atom_intern to
522         bool.
523
524 1999-11-25  Tor Lillqvist  <tml@iki.fi>
525
526         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
527         Fix two copy&paste errors.
528
529         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
530         win32 has changed.
531
532         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
533         GdkWin32SingleFont struct.
534
535         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
536         subranges of loaded fonts. Clear font signature first, in case
537         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
538         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
539
540         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
541         Unoffset clip region.
542
543 1999-11-23  Tor Lillqvist  <tml@iki.fi>
544
545         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
546         event->any.window before calling filter functions.
547
548 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
549
550         * gtk/gtkgamma.h: Adapt cast macros to standard.
551
552 [ Merges from 1.2 ]
553
554 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
555
556         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
557         If translation does not include a '/', use entire
558         translation instead of crashing.
559
560 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
561
562         * docs/gtk_tut.sgml:
563         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
564
565 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
566
567         * gtk/gtkselection.c (gtk_target_list_remove): Use
568         g_list_remove_link, not g_list_remove.
569
570         [ From Geert Bevin <gbevin@thunderstorms.org> ]
571         
572 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
573
574         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
575         statement upon unselection (how the heck did that slip in?).
576
577 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
578
579         * gtk/gtktext.c (gtk_text_freeze): 
580         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
581         in frozen state (and aparently crashes). patch provided by Anders
582         Melchiorsen <and@kampsax.dtu.dk>.
583
584 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
585
586         * fix insensitive default/focus widget activation,
587         reported by Matt Goodall <mgg@isotek.co.uk>.
588
589         * gtk/gtkwindow.c (gtk_window_key_press_event): 
590         (gtk_window_activate_default):
591         (gtk_window_activate_focus):
592         return handled=FALSE for actiavtion of insensitive default
593         widgets. return handled=TRUE for activation of insensitive
594         focus widgets. don't activate in either case.
595
596 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
597
598         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
599         and $glib_cflags to match library order and in the
600         theory that an old version of GLib is more likely to
601         be in the include directory for X then vice-versa.
602         (Bug #2776)
603
604 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
605
606         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
607         to determine the locale for fontsets, not LC_MESSAGES;
608         the user may want English messages with a handling
609         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
610         will still be broken) (Bug #2891)
611
612 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
613
614         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
615
616 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
617
618         * gtk/gtkrc.ko: Changed the Korean default fontset.
619
620 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
621
622         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
623         where when scrolling to the left or top double exposes
624         were done, causing major slowdowns.
625
626 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
627
628         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
629         names to lowercase and alphanumeric, before looking
630         them up.
631
632         * gtk/Makefile.am: Install codeset variant gtkrc files
633         with normalized names.
634
635 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
636
637         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
638         popup menus when the menu is already visible, but its parent
639         is still hidden, (happens after tornoff window got hidden).
640
641 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
642
643         * gtk/Makefile.am (install-data-local): Fix
644         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
645         deleted, causing error messages on install.
646
647 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
648
649         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
650         the handle as well, since we now sometimes ignore
651         exposes on the handle while resizing.
652
653 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
654
655         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
656         extra g_free introduced in one of the last one or two 
657         commits.
658
659 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
660
661         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
662         consistent, put each style that a gtkrc.* file creates
663         in a unique namespace, remove old files before installing.
664
665 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
666
667         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
668         gtk_rc_init is called multiple times. (Yes, people who
669         do that have bugs in their code.)
670
671 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
672
673         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
674         Remove it since it's generated by the Makefile anyway
675
676 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
677
678         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
679         device->info.axes for core pointer.
680
681 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
682
683         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
684         idle_id, to deal with obsolete, broken C libraries.
685
686 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
687
688         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
689         allocation->x/y twice!
690
691         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
692         consistent with gtk_vscale_pos_trough().
693
694 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
695
696         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
697         be queueing a resize on a toplevel container between
698         the time we show it and when we map it. So, we need
699         to test GTK_WIDGET_VISIBLE() for toplevels, and only
700         use GTK_WIDGET_DRAWABLE() for child windows.
701
702 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
703
704         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
705         (fixes bug #2144)
706
707 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
708
709         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
710         container DRAWABLE (instead of VISIBLE), so we don't queue
711         resizes on non-toplevel containers.
712
713 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
714
715         * gtk/gtkselection.[ch]: Make the data argument
716         const guchar *.
717
718 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
719
720         * gtk/gtkwindow.c: Try to behave sensibly if 
721         the focus widget is the window itself. (Should
722         we allow this at all?)
723
724 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
725
726         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
727         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
728         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
729         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
730         in prototypes and implementations consistent (Tomas Ogren).
731
732         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
733         before the widget is unparented (reported by damon).
734
735         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
736         since we provide unsigned data anyways.
737
738 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
739
740         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
741         the call to gtk_tooltips_layout_text() until later.
742
743         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
744         Call gtk_widget_ensure_style() before using the style.
745
746 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
747
748         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
749         for old widgets that don't propagate draws to all
750         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
751
752 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
753
754         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
755         for a redraw but just the widget that requested the resize.
756
757 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
758
759         * gtk/gtkcontainer.c: added new widget level method
760         gtk_container_set_reallocate_redraws() and a GtkContainer flag
761         reallocate_redraws : 1 to reflect the setting, exported this through
762         the argument system as a boolean ::reallocate_redraws.
763
764         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
765         on the widget because the allocation changes, do so as well for
766         widget->parent if the parent has reallocate_redraws set to TRUE.
767         with that containers requesting reallocation redraws get automatically
768         redrawn if their children changed allocation (this unfortunately
769         affects also other children that didn't change allocation, but we
770         cannot work around that before 1.3).
771
772 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
773
774         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
775         _and_ height are >0 (not _or_).
776
777         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
778         instead of gtk_container_queue_resize(), which is a core gtk internal
779         function (must have been on crack when i queued that).
780
781         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
782         we can check more reliably if we want to discard expose events.
783         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
784         flag.
785         
786         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
787         we simply trust these events. for deciding whether to discard exposes,
788         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
789         
790 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
791
792         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
793         queues of areas that are completely off screen.
794
795         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
796         logic for handleboxes.
797
798         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
799         check on width/height.
800
801 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
802
803         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
804         we are fine with using $@ the way we do (if we actually encounter
805         brokeness with $@ in VPATH builds because of additional path prefixes,
806         we need to use $(@F) actually).
807
808 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
809
810         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
811         short lived bugs, that would allow language bindings to do surgeries
812         to our guts.
813
814 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
815
816         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
817         where comparison was being done against an uninitialized
818         value causing intermittant results depending on
819         compiler flags. Also make it clearer that we aren't
820         ever initializing the child as 0x0 (though this will
821         be caught in gtk_widget_size_allocate())
822
823 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
824
825         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
826         gtk_window_unset_transient_for() call after we do checks
827         involving the old transient parent.
828         [ From Lance Capser <lmc@cyberhighway.net> ]
829
830 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
831
832         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
833         an empty file.
834
835 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
836
837         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
838         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
839
840 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
841
842         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
843         `$@' is valid only in the build dir, not after we've done 
844         `cd $srcdir'.  Also use `test -f' instead of less portable
845         `test -e'.
846
847 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
848
849         * gtk/gtktext.c (correct_cache_insert): Rewrite
850          for simplicity, and hopefully correctness.
851          (Fixes bug #1322, which was a segfault when
852           on some insertions with the properties around
853           the insertion set up just wrong.)
854
855         * gtk/gtktext.c (gtk_text_adjustment): When we receive
856          a "changed" signal, clamp the new value to the adjustment
857          bounds to avoid segfaulting if someone tries to change
858          the adjustment to a bogus value. (Bug #1795)
859
860 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
861
862         * gtk/gtkmain.c: Ignore unexpected destroy notifies
863         for children, for toplevel windows handle them
864         like delete_event.
865
866         * gtk/gtkplug.c: Add an unrealize handler so that
867         we unref plug->socket_window when we are done
868         with it.
869
870 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
871
872         * gtk/gtktext.c (clear_area): Fix stupid signedness
873          problem that was causing background to sometimes
874          be misaligned.
875
876 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
877
878         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
879         
880         * gtk/gtkmenu.c (gtk_menu_position): Make
881          sure we never position menus with negative x, y,
882          since gtk_widget_set_uposition() can't handle that.
883
884         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
885          Modify the positioning code a bit so that we always
886          put the top-left corner onscreen. (This is for
887          UI reasons, gtk_menu_position() now takes care of
888          gtk_widet_set_uposition() brokeness.)
889
890 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
891
892         * gtk/Makefile.am: fixed up things for -jx, x > 1.
893
894 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
895
896         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
897           RC style that is passed in. The lack of the ref
898           before was a bug. If people worked around this
899           bug, this will introduce a slight memory leak
900           in their code. The code should typically look like:
901
902             rc_style = gtk_rc_style_new ();
903             [...]
904             gtk_widget_modify_style (widget, rc_style);
905             gtk_rc_style_unref (rc_style);
906
907         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
908           the style if it was already set.
909
910         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
911           style if it was set before.
912
913 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
914
915         * gtk/testgtk.c (main): Add a check to see if we
916           are being run from the correct directory and
917           to quit nicely if we are not.
918
919         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
920           static.
921
922 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
923
924         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
925
926         * gtk/gtkwindow.c:
927         queue resizes unconditionally (gtk_widget_queue_resize will figure
928         what to do if the window is not realized).
929         (gtk_window_move_resize): only recenter the window
930         for GTK_WIN_POS_CENTER_ALWAYS.
931         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
932         the same way as GTK_WIN_POS_CENTER.
933
934 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
935
936         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
937         with (!(info->last_flags & GDK_HINT_POS)) instead of
938         (!info->last_flags & GDK_HINT_POS).
939
940         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
941         new_height unconditionally, because we use these values even if
942         !default_size_changed && !hints_changed.
943         comented the (default_size_changed || hints_changed) case with
944         respect to resize rejects from the window manager.
945
946         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
947         in the zvt condition hack, since this includes the window hints, set
948         the hints after the handling_resize case.
949
950         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
951         window is initially shown with to the geometry.
952
953 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
954
955         * gtk/gtkwindow.c (gtk_window_move_resize):
956         s/size_changed/default_size_changed/g so i know what's
957         really going on (frying brain on smaller flame now).
958
959 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
960
961         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
962         we have size_changed upon handling_resize. this is a gross
963         workaround for the broken zvt widget and should be removed in
964         1.3 again (search for FIXME).
965         Owen provided an accurate comment for this:
966
967         /* We could be here for two reasons
968          *  1) We coincidentally got a resize while handling
969          *     another resize.
970          *  2) Our computation of size_changed was completely
971          *     screwed up, probably because one of our children
972          *     is broken. It's probably a zvt widget.
973          *
974          * For 1), we could just go ahead and ask for the
975          * new size right now, but doing that for 2)
976          * might well be fighting the user (and can even
977          * trigger a loop). Since we really don't want to
978          * do that, we requeue a resize in hopes that
979          * by the time it gets handled, the child has seen
980          * the light and is willing to go along with the
981          * new size. (this happens for the zvt widget, since
982          * the size_allocate() above will have stored the
983          * requisition corresponding to the new size in the
984          * zvt widget)
985          *
986          * This doesn't buy us anything for 1), but it shouldn't
987          * hurt us too badly, since it is what would have
988          * happened if we had gotten the configure event before
989          * the new size had been set.
990          */
991
992 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
993
994         * gtk/gtkrc.c: deal properly with the fact that RC
995           style lists may include rc styles more than once.
996
997         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
998           unused static function.
999
1000         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
1001           stack of directories of RC files currently being
1002           parsed and implicitely add them to pixmap path.
1003           
1004           This fixes a bug where the directory would get
1005           appended then overwritten by pixmap_path declarations.
1006
1007           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
1008
1009         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
1010           theme's exit function. (Patch from Peter Wainwright,
1011           bug #1454)
1012
1013         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
1014           Add a destroy() handler to take care of removing
1015           group for menu item. (Fixes bug #1197)
1016
1017         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
1018           in warning message.
1019
1020 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
1021
1022         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
1023         roundtrip to figure window's width and height, since we know that
1024         anyways from widget->allocation.
1025
1026 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
1027
1028         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
1029           the hints after we request the new size.
1030
1031 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
1032
1033         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
1034           GTK_WIDGET_REALIZED() assertion - we can compute the
1035           hints before we are realized.
1036
1037         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
1038           hint changing so that we have a value of hints_changed
1039           when we decide whether to constrain the window size.
1040
1041         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
1042
1043         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
1044         change back to G_MAXINT.
1045
1046 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
1047
1048         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
1049         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
1050         contain uncluttered values.
1051         (gtk_window_compute_hints): simply assert that window is realized
1052         and that geometry_info is valid, since we rely on this anyways.
1053         (gtk_window_constrain_size): major cleanups to the code.
1054         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
1055         for the base size, instead of the minimums. use 32767 as max width
1056         and height (like in gtkwindow.c) instead of G_MAXINT.
1057
1058 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
1059
1060         * cleaned up the GtkContainer.need_resize flag handling mess, we
1061         only need to force resize requests when we were prematurely
1062         realized, or our widget tree was modified when we were temporarily
1063         hidden. handling these cases directly upon showing the window (i.e.
1064         while the GdkWindow is still unmapped) avoids the need to wait for
1065         a configure event response and therefore makes the GUI more snappier
1066         and avoids blank windows during the roundtrip.
1067
1068         * gtk/gtkwidget.c:
1069         (gtk_widget_hide): 
1070         (gtk_widget_show): don't queue resizes on toplevels, they know how
1071         to deal with matters.
1072
1073         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
1074         flag directly for not visible resize containers and spare us unecessary
1075         signal emissions.
1076
1077         * gtk/gtkwindow.c:
1078         (gtk_window_realize): if we need to enforce premature size allocation,
1079         queue a container resize so we are correctly resized later on.
1080         (gtk_window_init):
1081         (gtk_window_size_request):
1082         don't freak around with the ->need_resize flag,
1083         gtk_container_queue_resize() will care about that.
1084         (gtk_window_show):
1085         handle initial resizing issues here, we can handle matters better in
1086         this place, especially since we know that our GdkWindow is still
1087         unmapped.
1088         (gtk_window_move_resize):
1089         don't care about ->need_resize at all.
1090         handle size changes properly that occoured while we waited for a
1091         configure event.
1092
1093 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
1094
1095         * gtk/gtkwidget.c (gtk_widget_set_uposition):
1096         * gtk/gtkwindow.[hc] (gtk_window_reposition):
1097         Move the hint setting code from gtk_widget_set_uposition
1098         to here; set the hints so that we respect any previously
1099         set geometry hints.
1100
1101         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
1102         change the window hints here or move the window here,
1103         let that happen in gtk_window_move_resize().
1104
1105 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
1106
1107         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
1108         to already queued resizes (and therefore redraws) on a widget, check
1109         its anchestry as well.
1110
1111         * gtk/gtkcontainer.c:
1112         (gtk_container_queue_resize): clear resize widgets for resize
1113         containers before aborting prematurely. this is especially important
1114         for toplevels which may need imemdiate processing or their resize
1115         handler to be queued.
1116         (gtk_container_dequeue_resize_handler): added new internal function for
1117         gtkwindow.c.
1118
1119         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
1120         configure event, take possible changes in window position into account
1121         as well.
1122         if we request a new window size, queue up a resize handler that will
1123         last until the configure event response arrives.
1124         combined the ->need_resize case (initial show) with the general size
1125         (hints) changed case and added even more comments.
1126         if !auto_shrink, only revert to the old allocation if the new size
1127         is smaller than the current allocation.
1128
1129 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
1130
1131         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
1132                            gtk_window_set_geometry_hints
1133                            gtk_window_set_default_size):
1134         When hints are set, queue a resize so that the hints will
1135         be eventually reset on the toplevel.
1136
1137         * gtk/gtkwindow.c (gtk_window_show): Use
1138         gtk_window_compute_default_size(). Clear the need_resize flag
1139         on the initail map so that we don't unnecessarily trigger the
1140         resize code.
1141
1142         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
1143         into separate functions. Compare the hints we are setting
1144         with what we set last time so that we can accurately
1145         tell when we need to reset the hints.
1146
1147         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
1148         function to figure out the size from requisition
1149         and default_size.
1150
1151         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
1152         from fvwm to constrain a size to the geometry hints.
1153
1154         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
1155         to compare two sets of geometry hints.
1156
1157         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
1158         from gtk_window_set_hints(), just compute the hints,
1159         don't set them.
1160
1161         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
1162         code from gtk_window_move_resize() to separate function,
1163         rationalize a bit.
1164
1165 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
1166
1167         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
1168         structure into a new private structure.
1169
1170         * gtkrc.c: Split GtkRcStyle into public/private.
1171         In the private part, add a list of pointers to the
1172         RcStyle lists this RcStyle participates in.
1173
1174         * gtkrc.c: When a RcStyle is free, remove all
1175         lists referencing it from the 
1176         realized_style_ht hash, and free those lists.
1177         
1178         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
1179         gtk_rc_init(), since that adds the default styles
1180         to the list of parsed RC files again.
1181
1182         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
1183         
1184 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
1185
1186         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
1187         checks that ensure that a widget's allocation is at least 1 in width
1188         and height. (GNOME note: this doesn't affect old panel code anymore,
1189         because GtkSocket will request width and height of at least 1 since
1190         Fri Jul 23).
1191
1192         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
1193         allocated yet (happens if the user realizes the window prematurely),
1194         size request and allocate it.
1195         (gtk_window_size_allocate): guard against guint underflows.
1196
1197 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
1198
1199         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
1200         in gtk_built_sources, so gtk.defs gets built prior to all other
1201         sources.
1202
1203 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
1204
1205         * gtk/Makefile.am:
1206         invoke indent on gtkmarshal.*. 
1207         rewrote source generation rules, use COPYING as oldest source tag for
1208         a piggyback rule to generate all sources from (don't touch it ;).
1209         major cleanups, strip spaces on build rules for GNU Make.
1210
1211         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
1212         source and target files from commandline arguments. don't invoke indent.
1213
1214 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
1215
1216         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
1217         notebook after switch to avoid drawing problems.
1218         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
1219         
1220         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
1221         show them instead. 
1222         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
1223
1224 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
1225
1226         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
1227         notebook after switch to avoid drawing problems.
1228         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
1229         
1230         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
1231         show them instead. 
1232         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
1233
1234 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
1235
1236         * gtk/gtkwindow.c:
1237         we use window->need_resize from configure_event now, to indicate that
1238         the gtkwindow should keep its allocation (e.g. because the user resized
1239         the window through window manager handles). resize_count is now reliably
1240         used to figure whether we got the allocation we requested from the
1241         window manager.
1242         configure events get queued as resizes now, the real stuff (size
1243         computation and allocation) now only goes on in gtk_window_move_resize().
1244         GtkWindow's requisition now contains its *real* requisition (like all
1245         other widgets), *not* taking usize into account.
1246         geometry_info->last_{width|height} is now updated from set_hints() only
1247         so it always contains the last hints we set for the window manager.
1248         made some event handlers return TRUE instead of FALSE.
1249         the overall code should be much more straight forward now, and the
1250         significant code portions are accompanied by comments now.
1251         (gtk_window_set_hints):
1252         removed requisition argument and made it
1253         fetch the requisition through gtk_widget_get_child_requisition.
1254         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
1255         does that now.
1256         (gtk_window_show):
1257         ensure that the widget is realized before calling 
1258         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
1259         ensure that we got properly size requested and allocated before
1260         realization.
1261         (gtk_window_configure_event):
1262         ignore plain window moves, or reallocate the widget tree through the
1263         resize queue otherwise.
1264         (gtk_window_move_resize):
1265         mostly rewrote this function to figure window manager hints more
1266         reliably, coalesce window moves and resizes to reduce configure events
1267         and do actuall size allocations.
1268
1269 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
1270
1271         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
1272         that have a resize pending, because a redraw is already queued for them.
1273
1274         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
1275         hack to clear resize_widgets.
1276
1277         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
1278         for resize containers prior to size allocation. (this is also a bit
1279         ugly, but avoids side effects for stopped emissions and is thus more
1280         reliable).
1281         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
1282
1283         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
1284         function from gtk_tooltips_expose, as we connect to ::expose_event
1285         *and* ::draw now.
1286
1287 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
1288
1289         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
1290         checks.
1291         (gtk_target_list_unref): Likewise.
1292
1293         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
1294
1295 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
1296
1297         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
1298         guard against division by zero. (Fixes bug #1339)
1299
1300 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
1301
1302         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
1303         Prevent the trivial leak of information of allowing
1304         word motion when the entry is not visible.
1305
1306 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
1307
1308         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
1309         modality to error dialog as well as confirmation dialogs.
1310         (Bug #1803, reported by Rosanna Wing Sze Yuen)
1311
1312 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
1313
1314         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
1315         tree->view_lines.
1316         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
1317
1318         * gtk/Makefile.am (install-data-local): Solaris apparently
1319         has various troubles with ln -f; use rm first instead.
1320         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
1321
1322 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
1323
1324         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
1325         use `cp' followed by `rm' (the `rm' was already there).
1326
1327 July 30, 1999 Elliot Lee <sopwith@redhat.com>
1328         
1329         * configure.in: Fix autoconf warnings about cross compilation by
1330         trying to provide sane defaults for AC_TRY_RUN.
1331         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
1332         put them into $(srcdir) when generated. Also add a dependency of
1333         gtksignal.h on gtkmarshal.h for -j builds. 
1334         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
1335
1336 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
1337
1338         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
1339         GDK_THREADS_{LEAVE,ENTER} pair.
1340         (From Paul Fisher <pnfisher@redhat.com>)
1341
1342 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
1343
1344         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
1345         width and height are always >0 (owen).
1346
1347 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
1348
1349         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
1350         change that assured that a widget's allocated with and height are
1351         always >1, since this breaks *buggy* panel code. unfortunately this
1352         back-breaks the gimp's color selector.
1353
1354         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
1355         allocation is always >0 in width and height, before sending the
1356         configure event; this is a *gross* hack to get the gimp back to work.
1357         
1358         * marked both cases with TODO-1.3
1359
1360 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
1361
1362         * gtk/gtktext.c: Don't display wrap indicators when
1363         text is not editable and word wrap is on.
1364
1365 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
1366
1367         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
1368         option menus here as they are not derived from menu shell, assure that
1369         the option menu has a menu we can add items to.
1370
1371 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
1372
1373         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
1374         width/height to (gint) before calculations and check against < 0 to
1375         avoid guint wraparounds.
1376
1377 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
1378
1379         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
1380         width and height is never zero. sanity check both dimensions against
1381         32767 and issue a warning if the allocation is greater than that.
1382
1383 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
1384
1385         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
1386         to g_main_pending() as well.
1387
1388 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
1389
1390         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
1391         call to g_main_iteration() - since that will regrab
1392         GTK+ lock to process events.
1393
1394 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
1395
1396         * gtk/gtkwindow.c
1397         - Regularize with the rest of GTK+ by making widget->requisition
1398           not reflect the set_usize()
1399         - Always recompute geometry hints, then check if they
1400           changed before sending them to the X server. The
1401           previous checks for changes would fail in a number
1402           of circumstances. 
1403
1404 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
1405
1406         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
1407
1408 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
1409
1410         * gtk/gtkdnd.c:
1411         - Code cleanups
1412         - Instantaneously update on modifier key presses
1413         - Allow cancellation of the drag with Escape.
1414
1415 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
1416
1417         * gtk/testgtk.c (create_handle_box): Set the policy
1418         to auto_shrink - otherwise the appearance is rather
1419         strange when flipping between horizontal and vertical.
1420
1421 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
1422
1423         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
1424         (gtk_window_set_default_size): don't change a value if it's < 0.
1425         queue a resize.
1426
1427 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
1428
1429         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
1430
1431 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
1432
1433         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
1434         add an extra "/" when concating "/" + filename.
1435         (From Matt Grossman <mattg@oz.net>)
1436
1437 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
1438
1439         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
1440         for fg_gc if we set it for drawing pixmap.
1441
1442 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
1443
1444         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
1445         
1446         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
1447         already set, call old engine's destroy function and
1448         unref the old engine.
1449
1450 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
1451
1452         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
1453
1454 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
1455
1456         * gtk/gtkaccelgroup.h: mark certain functions as internal.
1457
1458 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
1459
1460         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
1461         expand behaviour changed.
1462
1463         * gtk/gtklabel.c (gtk_label_set_pattern):
1464         (gtk_label_set_justify):
1465         (gtk_label_set_line_wrap):
1466         don't bother invoking queue_clear, the reallocation does
1467         that for us, always free_words so the upcoming resize will
1468         relayout the label's contents.
1469
1470 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
1471
1472         * applied argument implementation patches from Elena Devdariani
1473         <elena@cogent.ca>.
1474
1475         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
1476         ::space_style, ::relief
1477         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
1478         * gtk/gtkpreview.c: ::expand
1479         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
1480         * gtk/gtknotebook.c: ::homogeneous
1481         * gtk/gtklabel.c: ::wrap
1482         * gtk/gtklist.c: ::selection_mode
1483         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
1484         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
1485         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
1486         * gtk/gtkclist.c: ::sort_type
1487         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
1488         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
1489
1490 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
1491
1492         * gtk/gtkstyle.c: Removed ill-thought-out part of last
1493         comment.
1494
1495 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
1496
1497         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
1498         counting right when we have to attach a new style
1499         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
1500
1501         * gtk/gtkstyle.c: Documented the refcounting
1502         peculularities of gtk_style_attach.
1503
1504 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
1505
1506         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
1507         window types.
1508
1509         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
1510         of GTK_TOPLEVEL for creating the window.
1511
1512 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
1513
1514         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
1515         the last argument (reported by Per Winkvist).
1516         
1517 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
1518
1519         Fixes for invisible XOR lines (Frank Loemker
1520         <floemker@TechFak.Uni-Bielefeld.DE>)
1521         
1522         * gtk/gtkclist.c (gtk_clist_realize): Always use
1523         a non-zero pixel for GDK_XOR.
1524
1525         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
1526         Use GDK_INVERT instead of GDK_XOR.
1527
1528 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
1529
1530         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
1531         signals if h/voffsets differ from adjustment values.
1532         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
1533
1534 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
1535
1536         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
1537         ::selection-done emissions up to the topmost menu shell.
1538
1539 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
1540
1541         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
1542         the user data on the window before destroying it.
1543
1544         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
1545         unrealize handler to take care of destroying 
1546         notebook->panel properly. 
1547         (Bug #1198 - Morten Welinder <terra@diku.dk>)
1548
1549         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
1550         of g_new and g_realloc to stop memory leak. (Actually,
1551         we could just use g_realloc(), but I'm not 100% sure
1552         that is portable).
1553         (Bug #1196 - Morten Welinder <terra@diku.dk>)
1554
1555 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
1556
1557         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
1558
1559         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
1560         for fontsets.
1561
1562         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
1563         with bin/button confusion.
1564
1565 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
1566
1567         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
1568         and show how preselection of radio items is done.
1569
1570 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
1571
1572         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
1573         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
1574         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
1575         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
1576         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
1577         * gtk/gtktable.c (gtk_table_attach): 
1578         * gtk/gtklist.c (gtk_list_insert_items): 
1579         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
1580         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
1581         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
1582         * gtk/gtkbin.c (gtk_bin_add): 
1583         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
1584         * gtk/gtkfixed.c (gtk_fixed_put): 
1585         * gtk/gtklayout.c (gtk_layout_put):
1586         general fixups to container_add logic. always realize child if
1587         child->parent is realized, only map the child and queue a resize
1588         if child and child->parent are both visible.
1589
1590 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
1591
1592         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
1593         instead of gtk_container_foreach to walk and unrealize children, so
1594         composite children get also unrealized.
1595         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
1596         (gtk_widget_map): assert that the widget is visible (basic constrain).
1597         (gtk_widget_real_map): assert that the widget is realized (basic
1598         constrain).
1599
1600 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
1601
1602         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
1603
1604 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
1605
1606         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
1607         file for iso-8859-2 locales.
1608
1609         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
1610
1611 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
1612
1613         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
1614          (Pointed out by andy@rz.uni-karlsruhe.de and others).
1615          Remove some suspicious and useless lines. 
1616
1617 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
1618
1619         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
1620         width,height = 0, 0 to mean - here to edge of window,
1621         instead of -1, -1, since the former is all we support.
1622
1623 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
1624
1625         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
1626         when removing from quit_functions list.
1627
1628 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
1629
1630         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
1631
1632 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
1633
1634         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
1635          When redrawing characters on non-visible entry, use appropriate
1636          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
1637
1638 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
1639
1640         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
1641         from drag coordinates.
1642         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
1643         use drag_dest_cell.
1644
1645         * gtk/gtktree (drag_dest_cell)
1646         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
1647         (Bug #1129)
1648
1649 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
1650
1651         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
1652         translate_* fields.
1653         (gtk_item_factory_finalize): invoke translate_notify independant from
1654         translate_data.
1655         (gtk_item_factory_set_translate_func): likewise.
1656         (gtk_item_factory_destroy): only remove ifactory pointer from those
1657         widgets that belong to us (stupid me).
1658
1659 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
1660
1661         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
1662         rc_style list when lookup succeeeds.
1663
1664 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
1665
1666         * gtk/gtkctree.c (resync_selection): 
1667         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
1668         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
1669         bug.
1670
1671 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
1672
1673         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
1674         Add some missing GDK_THREADS_ENTER()/LEAVE around
1675         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
1676
1677 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
1678
1679         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
1680         rather than emit_by_name.
1681
1682         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
1683         on the widget across multiple signal emissions.
1684         (gtk_editable_delete_text): same here.
1685         (gtk_editable_class_init): set widget_class->activate_signal after
1686         editable_signals[ACTIVATE] has been created.
1687
1688 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
1689
1690         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
1691         position here prematurely -- we might not have the
1692         right ->min_position and ->max_position yet.
1693
1694 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
1695
1696         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
1697         Add error traps so if the other end of the connection
1698         dies, we survive.
1699
1700         * gtk/gtkselection.c (gtk_selection_notify): Clean
1701         up properly when selection property retrieval fails.
1702         
1703         * gtk/gtkselection.c (gtk_selection_request): Correctly
1704         reject SelectionRequest notifies where the handler
1705         returns no data.
1706
1707 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
1708
1709         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
1710         when we've previously highlighted.
1711
1712         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
1713         emit two "drag_leave" signals for Motif drops.
1714
1715         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
1716         back the correct status messages when dropping from
1717         Motif onto a proxy window that is rejecting the
1718         drop.
1719
1720 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
1721
1722         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
1723         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
1724         to compare two argument values. added gtk_arg_to_valueloc() to set a
1725         variable from an arg through its location (pointer).
1726
1727         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
1728         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
1729         as gfloat*, uchars are collected as guchar*, ints are collected as
1730         gint*, etc...
1731
1732 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
1733
1734         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
1735         Include <string.h> instead of <strings.h>.
1736
1737         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
1738         (actually, a lot more duplicate includes occur if
1739          you trace through the sequence of #include's)
1740         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
1741         
1742 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
1743
1744         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
1745         gtk-a-higuti-990322-[0-3]
1746
1747         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
1748         that was causing -DX_LOCALE not to work.
1749
1750         * gtk/gtkrc.c (gtk_rc_init):
1751         X_LOCALE will never have LC_MESSAGES defined
1752
1753 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
1754
1755         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
1756         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
1757
1758         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
1759         left/right as well (gtk-michael-980726-0.patch.gz).
1760
1761         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
1762         for pointer values, use gchar instead of char. fixed uline allocation
1763         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
1764         chunks instead of G_ALLOC_ONLY.
1765         (gtk_label_size_request): always alter requisition as passed and leave
1766         widget->requisition alone.
1767         (gtk_label_set_text): allow NULL strings.
1768         (gtk_label_new): likewise.
1769
1770 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
1771
1772         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
1773
1774 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
1775
1776         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
1777         *and* mapped (i.e. drawable).
1778         (gtk_bin_expose): only send exposes to drawable children.
1779
1780         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
1781         (gtk_box_expose): only send exposes to drawable children.
1782
1783         * gtk/gtkhscale.c (gtk_hscale_draw): 
1784         * gtk/gtkvscale.c (gtk_vscale_draw):
1785         hm, this is an ugly one. we first compute the size of our trough area
1786         here (window relative) and then check intersection with the draw_area
1787         which is parent relative because we're a NO_WINDOW widget, so we need
1788         to offset the trough area by allocation.x and allocation.y before the
1789         check. (this must not be done for the background area though, since
1790         that's already computed parent relative).
1791
1792 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
1793
1794         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
1795         unrealize title buttons.
1796
1797 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
1798
1799         * gtk/gtkclist.c (gtk_clist_column_title_passive)
1800         (gtk_clist_column_title_active): 
1801         only connect/disconnect to GtkWidgetClass::event to block mouse events.
1802
1803         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
1804         zero initialize event, removed superfluous gdk_window_get_pointer call
1805
1806         * gtk/gtklist.c (gtk_list_vertical_timeout)
1807         (gtk_list_horizontal_timeout): removed superfluous
1808         gdk_window_get_pointer call
1809
1810 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
1811
1812         * plugging problems reported by "Bruce Mitchener, Jr."
1813         <bruce@puremagic.com> due to a purify session.
1814
1815         * gtk/gtkstyle.c:
1816         (gtk_style_ref): 
1817         (gtk_style_unref): assert ref_count to be > 0.
1818
1819         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
1820         the requisition.
1821         (gtk_clist_set_shift): likewise.
1822
1823         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
1824         adjustments.
1825
1826         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
1827         event before sending it and set send_event to TRUE (which needs to
1828         be done for *all* synthesized events).
1829         (gtk_list_vertical_timeout): likewise.
1830
1831         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
1832         leaks.
1833
1834         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
1835         to TRUE when synthesizing events.
1836
1837 [ *** end of merges from 1.2 *** ]      
1838         
1839 1999-11-21  Tor Lillqvist  <tml@iki.fi>
1840
1841         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
1842         (or copied from gdkconfig.h.win32 on Win32, sigh).
1843
1844         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
1845
1846         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
1847
1848         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
1849
1850         * gdk/gdkconfig.h.win32: New file.
1851
1852         * gdk/win32/makefile.cygwin: Build just a static archive here.
1853
1854         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
1855         for the DLL from the static archive built above.
1856
1857         * gdk/gdk.def: Moved here from the win32 subdirectory.
1858
1859         * gdk/win32/*: Adapt for the changed private struct organisation.
1860
1861         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
1862
1863 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
1864
1865         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
1866         for wheel mice (buttons 4 and 5).
1867
1868 1999-11-18  Tor Lillqvist  <tml@iki.fi>
1869
1870         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
1871         drawables use just the pixel field in the foreground and
1872         background GdkColor of the GdkGC.
1873
1874         gdk_gc_set_{fore,back}ground() are called in the GIMP with
1875         GdkColors containing uninitialized (red,green,blue) fields, and
1876         just the pixel field filled in, and furthermore in the
1877         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
1878         It thus turns out that we really don't need to have the full
1879         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
1880         it later to have just the pixel values.
1881
1882 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
1883
1884         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
1885
1886 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
1887
1888         * docs/gtkfaq.sgml: threads example from Erik Mouw.
1889         New question on GtkLabel background colors.
1890
1891         * docs/gtk_tut.sgml:
1892           - Correct the example code callback
1893             function definitions.
1894           - Update the gtkdial example code, from Frans van Schaik.
1895           - Update setselection.c to current API.
1896
1897         * examples/Makefile examples/*/*.c: Update to code
1898         listed in tutorial.
1899
1900 1999-11-10  Tor Lillqvist  <tml@iki.fi>
1901
1902         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
1903         subrange table (from the "Developing International Software for
1904         WIndows 95 and Windows NT" book) was missing the Hangul syllable
1905         block... Get the loaded font's charset correctly.
1906
1907         (Note that this, and the other *-win32.c files, still really are
1908         the old ones, the win32 subdirectory is not ready for compilation
1909         yet after the reorg.)
1910
1911 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
1912
1913         * gtk/gtkclist.c: Fix off-by-one bug in parameter
1914         check.
1915
1916 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
1917
1918         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
1919         on results of XQueryDeviceState().
1920
1921 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
1922
1923         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
1924         we need to accesss only ->children. We need an accessor
1925         for the children.
1926
1927         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
1928         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
1929         to get rid of gdkx.h include.
1930         
1931         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
1932         and random references to 'None'.
1933
1934         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
1935         Get rid of unused #include <gdk/gdkx.h>
1936
1937         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
1938         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
1939         gdkconfig.h.
1940
1941 1999-11-08  Tor Lillqvist  <tml@iki.fi>
1942
1943         * gdk/win32/gdkdraw.c
1944         * gdk/win32/gdkfont.c
1945         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
1946         following yesterday's changes. (Unrelated to Owen's reorg.)
1947
1948 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
1949
1950         * gdk/x11/gdkinput-gxi.c: Add missing include,
1951           fix GdkWindowPrivate => GdkDrawablePrivate.
1952
1953         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
1954
1955         * gdk/x11/Makefile.am (xinput_sources): Add missing
1956         backslash to fix building with --with-xinput=none
1957
1958 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
1959
1960         Move all X specific code into the x11/ directory.
1961         Aside from shuffling things around, did the following:
1962
1963        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
1964          gdk_arg_context_* - a simple argument parsing system
1965          in the style of popt.
1966
1967        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
1968          gdk/x11/gdkprivate-x11.h:
1969          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
1970          add ->klass and ->klass_data fields. The klass_data
1971          field points to an auxilliary structure that is
1972          windowing system dependent.
1973
1974        * gdk/gdkfont.c: Make most of the measurement functions
1975          simply wrappers around gdk_text_extents().
1976
1977        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
1978          _gdk_font_strlen() function that hides the weird
1979          behavior in gtk+-1.[02] where a string is interpreted
1980          differently for 8-bit and 16-bit fonts.
1981
1982        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
1983          to store common code for synthesizing double/triple
1984          press events.
1985         
1986        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
1987          Make all the function that modify an existing GC
1988          simply wrappers around gdk_gc_set_values().
1989          
1990        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
1991          for throwing out later.
1992
1993        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
1994          GdkImagePrivate and GdkColormapPrivate to have a
1995          windowing system dependent part (GdkFontPrivateX etc.)
1996          that "derives" from the system-independent part.
1997
1998        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
1999          Got rid of the included-source-files for XInput in
2000          favor of automake conditionals. (Which didn't exist
2001          when XInput support was originally added.)
2002
2003        * gdk/gdkrgb.c: Remove the visual id from the debugging
2004          statements since that is X11 specific; print out
2005          type/depth info instead.
2006          
2007
2008 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
2009
2010         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
2011         loading duplicates of hashed fonts.
2012
2013         * gdk/gdk.c (gdk_keysym_convert_case): rename
2014         gdk_XConvertCase to gdk_keysym_convert_case, allow
2015         results to be NULL in the GTK+ style.
2016
2017         * gdk/gdkcompat.h: Started compatibility header
2018         for renames.
2019
2020 1999-11-07  Tor Lillqvist  <tml@iki.fi>
2021
2022         * gdk/win32/gdkprivate.h: New font private structures, related to
2023         fontsets.
2024
2025         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
2026         gdk_font_list_free(). On X11, will just be wrappers to
2027         XListFonts() and XFreeFontNames(). On Win32, the code previously
2028         in gtkfontsel.c is now here.
2029
2030         New function gdk_font_xlfd_create(). On X11 will get the FONT
2031         property of the font (for GDK_FONT_FONTs), or call
2032         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
2033         builds a XLFD style name from the font information in the LOGFONT
2034         struct(s).
2035
2036         New function gdk_font_xlfd_free(), which correspondingly frees the
2037         string returned by gdk_font_xlfd_create().
2038
2039         Implement fontsets on Win32. Add a function that iterates over a
2040         wide char string and calls a callback function for each substring
2041         of wide chars from the same Unicode subrange (and thus probably
2042         available in the same real font).
2043
2044         Improve the XLFD emulation a bit.
2045
2046         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
2047
2048         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
2049         Beta3, WM_IME_CHAR messages don't seem to contain the composed
2050         multi-byte char as with the Active IMM on Win9x. Oh well, handle
2051         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
2052         ImmGetCompositionStringW() to get the composed Unicode chars.
2053
2054         * gdk/win32/gdkgc.c
2055         * gdk/win32/gdkdraw.c: Changes needed because of the font private
2056         struct changes.
2057
2058         * gdk/win32/gdk.def: Add the new functions.
2059
2060 1999-11-04  Tor Lillqvist  <tml@iki.fi>
2061
2062         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
2063         get the Platform SDK to get <dimm.h>.
2064
2065         * gdk/win32/gdkevents.c: More event handling fixes and
2066         simplification. Never generate motion events with is_hint true. We
2067         used to do that on bogus grounds earlier. Windows sends
2068         WM_MOUSEMOVE messages on button events even if the mouse hasn't
2069         moved, ignore these.
2070
2071         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
2072
2073         * gdk/win32/gdkglobals.c
2074         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
2075         the TrackMouseEvent function, and use it.
2076
2077         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
2078         char before calling WideCharToMultiByte in order to get a string
2079         for the window title.
2080
2081         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
2082
2083         * gdk/win32/gdk.def: Remove obsolete functions.
2084
2085         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
2086         /nodefaultlib and /defaultlib switches.
2087
2088         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
2089
2090 1999-10-31  Tor Lillqvist  <tml@iki.fi>
2091
2092         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
2093         EuroSign).
2094
2095         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
2096         same type as GdkWChar, especially on Win32.
2097
2098         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
2099
2100         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
2101         before passing to Windows GDI for drawing etc. Convert to the
2102         system default codepage before passing to Windows as window
2103         titles.
2104
2105         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
2106         support changing input locale on the fly.
2107
2108         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
2109         on-the-fly changes. Convert incoming characters from the current
2110         codepage to Unicode (and then to a UTF-8 multi-byte string) based
2111         on the current input language. Use keysym<->Unicode mapping tables
2112         and functions borrowed from xterm sources.
2113
2114         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
2115         editions of Win9x, use the ActiveX-based Active IMM (Input Method
2116         Manager) if available. IMEs and the Active IMM are available under
2117         the disguise of Chinese, Korean and Japanese support for IE and
2118         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
2119         support is present in all editions (as long as you install it).
2120
2121         Call DispatchMessage from gdk_events_queue() (and thus
2122         gdk_WindowProc()), instead of duplicating the code in
2123         gdk_WindowProc().
2124
2125         Reworked the grab handling and propagation code, factored out
2126         duplicated code snippets into separate functions. Other cleanups,
2127         too.
2128
2129         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
2130         the <dimm.h> header describing the Active IMM.
2131
2132         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
2133         just do the same as for "single" fonts.
2134
2135         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
2136         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
2137         the new keysyms from gdkkeysyms.h.
2138
2139         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
2140         fontset, so that gtkentry uses wide characters.
2141
2142         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
2143         GTk+'s system directory "gtk+", not "gtk".
2144
2145 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
2146
2147         * docs/gtkfaq.sgml: FAQ update
2148
2149 1999-10-21  Tor Lillqvist  <tml@iki.fi>
2150
2151         * gdk/win32/gdkprivate.h: Add more font private data.
2152
2153         * gdk/win32/gdkfont.c
2154         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
2155         fonts and strings. Now works much better. You still have to
2156         have a correct font selected, though. No fontset emulation yet.
2157
2158 1999-10-19  Tor Lillqvist  <tml@iki.fi>
2159
2160         * gtk/maketypes.awk: Use G_OS_WIN32.
2161
2162         * gtk/gtk.def: Add some missing entry points. Also some non-public
2163         ones, but PyGTK porter claims to need them.
2164
2165         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
2166         built-in type generation.
2167
2168 1999-10-14  Tor Lillqvist  <tml@iki.fi>
2169
2170         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
2171         GDK_FONT_FONT fonts (which is all we have for now, we don't
2172         emulate fontsets). The X11 version uses plain XDrawString in that
2173         case, too. The string passed to gdk_draw_text_wc seems to be in
2174         fact (at least, when used by gtkentry and gtktext) either in a
2175         single-byte charset, or a DBCS. Not Unicode.
2176
2177         This fixes the problem in gtkfontsel, where even if you had
2178         selected a font with a non-Latin1 charset (windows-greek, for
2179         instance), the preview still used Latin-1 glyphs.
2180
2181         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
2182         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
2183         (gdk_font_load): Recognize the demibold etc weights, even if we
2184         don't have the corresponding constants in the headers.
2185         (gdk_font_hash_insert): Use same hash mechanism as in the X11
2186         version. Should save font resources a bit, when we don't have
2187         multiple HFONTs for the same font.
2188
2189         * gdk/win32/gdkprivate.h: Add the names field as in the X11
2190         version.
2191
2192 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
2193
2194         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
2195         X values
2196
2197 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
2198
2199         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
2200         layout support (as mentioned on
2201         http://www.jcinteractive.com/gnome-ui/software/widgets/)
2202
2203 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
2204
2205         * gtk/fnmatch.c
2206         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
2207
2208 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
2209
2210         * configure.in (ALL_LINGUAS): Added Galician (gl)
2211
2212 1999-10-05  Tor Lillqvist  <tml@iki.fi>
2213
2214         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
2215
2216         * gdk/win32/gdkcompat.c: New file, actually provide an
2217         implementation for the deprecated functions. (Just temporarily.)
2218
2219         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
2220
2221         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
2222
2223         * gdk/win32/gdk.def gtk/gtk.def: Updates.
2224
2225 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
2226
2227         * configure.in: Added "uk" to ALL_LINGUAS.
2228         
2229 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
2230
2231         * configure.in: correct checking for BeOS check
2232
2233         * gdk/gdktypes.h
2234         * gtk/fnmatch.c
2235         * gtk/gtkfilesel.c
2236         * gtk/gtkitemfactory.c
2237         * gtk/gtkmain.[ch]
2238         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
2239
2240 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
2241
2242         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
2243         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
2244         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
2245         by Bulgarian). 
2246
2247 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
2248
2249         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
2250         Fix a reference to window_private->destroyed.   
2251
2252         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
2253         (ugly) setting of an internal GdkWindow member to use
2254         a _slightly_ cleaner macro.
2255
2256         * gdk/gdkprivate.h: Split GdkWindowPrivate into
2257         GdkDrawablePrivate and GdkWindowPrivate.
2258         Add extra macros for accessing GDK_DRAWABLE_ components.
2259
2260         * *.[ch]: Massive adjustments for the above, use the
2261         new macros in a lot of places.
2262
2263 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
2264
2265         * gdk/gdktypes.h: Make GdkDrawable the base type,
2266         not GdkWindow.
2267
2268 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
2269
2270         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
2271
2272 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
2273
2274         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
2275
2276 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
2277
2278         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
2279         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
2280
2281         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
2282
2283         * docs/gtk-config.1: Now autogenerated.
2284         * docs/Changes-1.4.txt: started
2285         
2286 1999-10-03  Tor Lillqvist  <tml@iki.fi>
2287
2288         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
2289         to #ifdef also here.
2290
2291         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
2292         Owen did to the X11 backend.
2293
2294         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
2295         ScrollWindowEx when blitting inside a window, it can't be correct
2296         in the general case.
2297
2298         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
2299         WM_GETMINMAXINFO is easier.
2300
2301         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
2302         depth equal to the bitspixel value, not the visual's depth.
2303
2304         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
2305         to 24 even if the bitspixel value is 32.
2306
2307         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
2308         need to check for depth==32 when bpp==32, depth will always be 24.
2309
2310 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
2311
2312         * docs/Changes-1.4.txt: Started
2313         
2314         * gtk/Makefile.am (gdk_headers): Include all the new headers.
2315
2316         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
2317         
2318         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
2319         into C file.
2320         
2321         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
2322         header to gdkinputprivate.h.
2323
2324         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
2325         unused since before 1.2.
2326
2327 1999-09-30  Tor Lillqvist  <tml@iki.fi>
2328
2329         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
2330         expand possible hex escapes in the font family (put there by
2331         logfont_to_xlfd if the font name isn't a legal XLFD font family,
2332         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
2333         On Win32, add hex escapes here, too.
2334
2335 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
2336
2337         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
2338         to #ifdef GDK_WINDOWING_X11.
2339
2340 [ Merges from gtk-1-2 ]
2341
2342 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
2343
2344         * configure.in: fixed "GNU Make" check to pass with new make version
2345         3.77.95.
2346
2347 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
2348
2349         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
2350         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
2351         AM_PATH_GTK() macros don't get confused by the -pre1.
2352
2353 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
2354
2355         * configure.in (REBUILD): Change check for perl5
2356           to check explicitely for v >= 5.002. (5.001
2357           does not work with our scripts.)
2358
2359 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
2360
2361         * configure.in: evaluate $PERL for the perl version check. added
2362         --disable-rebuilds to give the user an option to completely disable
2363         any source autogeneration rules.
2364
2365 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
2366
2367         * configure.in: evaluate $ac_make when checking for GNU Make.
2368
2369 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
2370
2371         * docs/Makefile.am: added generation.txt.
2372
2373         * Makefile.am: require automake 1.4, build README from README.in and
2374         INSTALL from INSTALL.in in dist-hook.
2375         
2376         * README.in:
2377         * INSTALL.in: new files to autogenerate README and INSTALL from.
2378
2379         * configure.in: figure whether we have GNU Make
2380
2381         * docs/generation.txt: minor additions/corrections.
2382
2383 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
2384
2385         * docs/gtkfaq.sgml: FAQ Update
2386
2387 July 30, 1999 Elliot Lee <sopwith@redhat.com>
2388         
2389         * configure.in: Fix autoconf warnings about cross compilation by
2390         trying to provide sane defaults for AC_TRY_RUN.
2391
2392 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
2393
2394         * ltconfig
2395         * ltmain.sh: upgrade to libtool 1.3.3
2396
2397 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
2398
2399         * INSTALL: Indicate that the --with-glib= configure
2400         time flag is unsupported.
2401
2402 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
2403
2404         * docs/generation.txt: Added a file that gives
2405         documenation about the autogeneration process for
2406         various autogenerated files.
2407         
2408 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
2409
2410         * configure.in (LIBS): Look for libgmodule in the
2411         right location.
2412
2413 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
2414
2415         * docs/gtk_tut.sgml: Removed references to
2416         code examples in my directory on gtk.org as
2417         they should all be in the tutorial now.
2418
2419         * docs/gtk_tut.sgml: Added sources for dial-test
2420         and scribble-xinput programs that were previously
2421         missing.
2422
2423 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
2424
2425         * TODO: Added entry about menu keyboard navigation, removed
2426         some finished items.
2427
2428 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
2429
2430         * acinclude.m4: Standardize on func_dgettext
2431         not func_gettext, so that the checks for dgettext
2432         actually are paid attention to.
2433
2434 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
2435
2436         * configure.in (LIBS): Add $INTLLIBS into $LIBS
2437         directly, rather than repeating the checks for
2438         gettext.
2439
2440         * INSTALL: Added information about gettext and
2441         NLS support.
2442
2443         * acinclude.m4 (LIBM): Check for dgettext, not
2444         just gettext. This should hopefully fix things wrt
2445         systems with old versions of GNU gettext installed.
2446
2447 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
2448
2449         * configure.in (LIBS): Look for libgmodule in the
2450         right location.
2451
2452 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
2453
2454         * autogen.sh: add --enable-maintainer-mode
2455
2456         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
2457
2458 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
2459
2460         * docs/gtk-config.1.in:
2461           docs/Makefile.am:
2462           configure.in: gtk-config is now generated.
2463
2464         * docs/gtk-config.1: Removed, now generated.
2465
2466 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
2467
2468         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
2469         handle CreateNotify itself, still put out a debuging message for
2470         --gdk-debug=events. made the ReparentNotify debugging message more
2471         verbose.
2472         wrap xcoords translation for ConfigureEvents into an error trap,
2473         a destroy event may already be pending, and in that case, the
2474         actuall coordinate values are not at all critical.
2475
2476 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
2477
2478         * gdk/gdkcc.c: Stop leaking the color_hash all over
2479         the place. Simplify and improve the logic.
2480
2481 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
2482
2483         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
2484         for prototypes and function implementations consistent (reported
2485         by Tomas Ogren).
2486
2487 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
2488
2489         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
2490         send_event set in debugging output.
2491         (gdk_compress_exposures): default initialize the event so we don't
2492         operate on bogus values (namely send_event).
2493
2494 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
2495
2496         * gdk/gdkwindow.c: When we receive an unexpected
2497         destroy notify on one of our windows, don't just
2498         warn about it, also mark our windows as destroyed.
2499
2500 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
2501
2502         * gdk/gdkfont.c (gdk_font_hash_insert): Add
2503           name => font and name => fontset hashes. The 
2504           name => fontset hash is a _big_ win since we
2505           weren't previously caching fontsets at all and loading
2506           fontsets is expensive. The name => font hash
2507           is less of a win, but it does save us from doing
2508           repeated XQueryFont calls on the same font.
2509
2510         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
2511           list so we can remove font/fontset from hash.
2512
2513 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
2514
2515         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
2516           and slightly confusing test. [ XInternAtom (,,TRUE)
2517           will never return None ].
2518
2519 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
2520
2521         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
2522           gdk/gdkwindow.c (gdk_window_set_hints):
2523
2524         Don't omit setting the properties if flags == 0 -
2525         there may be an existing set of properties there
2526         already. (Very old bug. Would it be better to
2527         delete the property instead?)
2528
2529         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
2530           spelling error in comment.
2531
2532 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
2533
2534         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
2535           to avoid stomping over gdk_error_warnings.
2536
2537         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
2538           as (bits_per_pixel + 7) / 8. This gives the same
2539           result as before for multiples of 8, but actually
2540           a "reasonable" value for 1bit or 4bit displays.
2541
2542 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
2543
2544         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
2545         GNU Make.
2546
2547 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
2548
2549         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
2550         discarding configure events.
2551
2552 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
2553
2554         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
2555         refcount is greater than zero.
2556
2557         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
2558
2559         * gdk/gdkfont.c (gdk_font_unref): Likewise.
2560
2561         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
2562
2563         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
2564
2565 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
2566
2567         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
2568         that format 32 => sizeof(item) == 4. It really is
2569         sizeof(long).
2570
2571 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
2572
2573         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
2574         core dump at all on X IO errors, only core dump
2575         if --enable-debug for X errors.
2576
2577 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
2578
2579         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
2580         unknown window:" message. disabled ConfigureNotify discarding code,
2581         because it led to events being processed out of order.
2582
2583 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
2584
2585         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
2586
2587         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
2588         we export this function, supress error warnings and don't reset the
2589         error code in the first half of this function.
2590
2591         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
2592         code (instead of just -1) so gdk_error_trap_pop() reveals something
2593         actually informative about the error that happened.
2594
2595         * gdk/*.c:
2596         don't rely on gdk_error_code being -1 if an error occoured, but just
2597         gdk_error_code != 0.
2598
2599 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
2600
2601         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
2602         pointer *before* invoking the filter function, so we at least don't
2603         crash if a filter is removed that is currently executed. window filters
2604         *really* need to be made truely reentrant at some point.
2605
2606 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
2607
2608         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
2609         PropertyNotify debug messages.
2610
2611 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
2612         
2613         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
2614         
2615         * gdk/gdkim.c: Fix cut-and-paste errors for 
2616         x/y and PreeditAttributes/StatusAttributes.
2617
2618 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
2619
2620         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
2621         G_MAXINT to 2^16 to alleviate overflow problems in
2622         various window managers.
2623
2624 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
2625
2626         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
2627         for fontsets.
2628
2629 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
2630
2631         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
2632         Initialize size_hints.x and size_hints.y because kwm
2633         brokenly pays attention to them.
2634         (Bug #1181 -  Lars Heete <hel@admin.de>)
2635
2636 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
2637
2638         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
2639         return value of gdk_list_visuals(). 
2640         (Bug #1193 - Morten Welinder <terra@diku.dk>)
2641
2642 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
2643
2644         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
2645         XSetIMValues to (void *) when comparing to NULL, to workaround
2646         the problem of some compilers barfing since older X headers don't
2647         have the prototype for it.
2648
2649 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
2650
2651         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
2652         for pseudocolor where colormap->colors was double
2653         allocated.
2654
2655         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
2656         color value in the hash table with the pixel filled
2657         in so when we do later hash table lookups, the color
2658         value is correct.
2659         
2660 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
2661
2662         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
2663         making the call
2664
2665 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
2666
2667         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
2668         pointed out by Morten Welinder <terra@diku.dk>.
2669
2670 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
2671
2672         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
2673           default filter from the list
2674
2675 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
2676
2677         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
2678           default filter from the list
2679
2680 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
2681
2682         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
2683
2684         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
2685         g_strdup_printf instead of calcing the length separately
2686
2687 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
2688
2689         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
2690         that we don't do in many other places. (Fixing duplicate 
2691         #include of config.h)
2692
2693         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
2694         Otherwise, #ifndef XINPUT_NONE check in the latter
2695         doesn't work. (Bug #546)
2696
2697 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
2698
2699         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
2700         "None" case insensitive.
2701
2702 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
2703
2704         * gdk/gdkselection.c: 
2705         Add error traps so if the other end of the connection
2706         dies, we survive.
2707
2708 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
2709
2710         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
2711         dest_xid field into two fields - one for the window
2712         to send in messages, one to indicate the last looked
2713         up window for caching purposes. This is needed, so
2714         that Leave messages get the correct window.
2715
2716 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
2717
2718         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
2719         Fix warning created by people mucking around
2720         with the gsource API.
2721
2722         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
2723         Change mapping between GIOCondition and GdkInputCondition
2724         to match the way the Linux kernel does it. This should
2725         fix problems where closed pipes were no longer signalling
2726         GDK_INPUT_READ on systems with a native poll().
2727
2728 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
2729
2730         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
2731         explicitly for the string "None" - it is in the XPM
2732         spec and some servers treat unknown colors in odd ways
2733         (like asking the user!)
2734
2735 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
2736
2737         * gdk/gdkevents.c: made "->" into a "." of previous change so
2738         it compiles
2739
2740 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
2741
2742         * gdk/gdkevents.c (gdk_compress_exposures): Set the
2743         window field of the event structure before calling
2744         user filters.
2745
2746 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2747
2748         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
2749         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
2750
2751 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
2752
2753         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
2754         intermediate text property - prevents major memory
2755         leak when gdk_use_mb.
2756         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
2757
2758 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
2759
2760         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
2761         gtk-a-higuti-990322-[0-3]
2762
2763         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
2764         sizeof(wchar_t) != sizeof (GdkWChar)
2765
2766         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
2767         that was causing -DX_LOCALE not to work.
2768
2769         * gtk/gtkrc.c (gtk_rc_init):
2770         X_LOCALE will never have LC_MESSAGES defined
2771
2772         * gdk/gdk.c (gdk_init_check):
2773         Remove --xim-preedit and --xim-status from argv properly.
2774
2775         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
2776         that the client window is present on the X server
2777         before we pass it to the input method.
2778
2779 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
2780
2781         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
2782         if --display is specified on the command line, than
2783         the drag window will not be created on that display.
2784         
2785 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
2786
2787         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
2788         lookups with only_if_exists == TRUE were inserting
2789         bogus values into the atom cache.
2790
2791 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
2792
2793         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
2794         then reset it to NULL.
2795
2796         * gdk/gdkcolor.c:
2797         (gdk_colors_free): 
2798         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
2799         key for g_hash_table_remove() in both functions, this prevents us
2800         from accessing possibly uninitialized portions of a GdkColor structure
2801         where we are only interested in its pixel value.
2802
2803 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
2804
2805         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
2806         font hash table, if we have a GdkFontPrivate entry for this font
2807         already, simply increment its reference count, provided by Olaf Dietsche
2808         <olaf.dietsche+list.gtk@netcologne.de>.
2809
2810 1999-09-21  Tor Lillqvist  <tml@iki.fi>
2811
2812         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
2813         just to be sure.
2814
2815         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
2816         unused variables, leftovers from the X11 version.
2817
2818         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
2819
2820         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
2821         downcase fields on X11.
2822
2823 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
2824         
2825         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
2826         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
2827
2828 1999-09-17  Tor Lillqvist  <tml@iki.fi>
2829
2830         * gdk/win32/gdk.def: Add gdk_threads_mutex.
2831
2832         * gtk/makefile.msc: Correct path to libintl.
2833
2834         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
2835         use of gint vs. int, and gint vs. gboolean in headers and
2836         definitions. Use GtkType for the *_get_type functions. Note that
2837         these changes preserve binary compatibility.
2838
2839         * gdk/gdk.c
2840         * gdk/win32/gdk.c
2841         * gdk/gdk.h: Fix inconsistencies: gint vs int.
2842
2843         * gtk/gtkmain.c
2844         * gtk/gtkclist.c
2845         * gtk/gtkmenufactory.c
2846         * gtk/gtknotebook.c
2847         * gtk/gtkwidget.c: Fix inconsistencies, also gint
2848         vs. gboolean.
2849
2850         * gtk/gtkcolorsel.[ch]
2851         * gtk/gtkcombo.[ch]
2852         * gtk/gtkdrawingarea.[ch]
2853         * gtk/gtkgamma.[ch]
2854         * gtk/gtkhandlebox.[ch]
2855         * gtk/gtkhpaned.[ch]
2856         * gtk/gtkhruler.[ch]
2857         * gtk/gtkplug.[ch]
2858         * gtk/gtkpreview.[ch]
2859         * gtk/gtkruler.[ch]
2860         * gtk/gtksocket.[ch]
2861         * gtk/gtkstatusbar.[ch]
2862         * gtk/gtktoolbar.[ch]
2863         * gtk/gtkvbbox.[ch]
2864         * gtk/gtkvpaned.[ch]
2865         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
2866         functions.
2867
2868         * gtk/gtkgamma.h: Fix bug, missing () in call of
2869         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
2870
2871 1999-09-14  Tor Lillqvist  <tml@iki.fi>
2872
2873         * gdk/gdkcolor.c (gdk_colormap_new)
2874         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
2875         colormap->colors was allocated twice.
2876
2877         * gdk/win32/gdk.c: Remove some unused stuff.
2878
2879         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
2880         colormap.
2881
2882         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
2883         * gtk/gtklabel.h (gtk_label_get_type)
2884         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
2885         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
2886         in a couple of places, not guint.
2887
2888 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
2889
2890         * configure.in,po/et.po: added Estonian language file
2891
2892 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
2893
2894         * configure.in,po/da.po: added Danish file
2895
2896 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
2897
2898         * docs/gtkfaq.sgml: Minor FAQ Update
2899
2900 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
2901
2902         * docs/gtkfaq.sgml: FAQ update
2903
2904 1999-08-27  Tor Lillqvist  <tml@iki.fi>
2905
2906         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
2907         way to get window contents continually refreshed while resizing. I
2908         didn't like the effects myself, so it's not on by default.
2909
2910         * gdk/win32/gdkprivate.h: New flag variable
2911         gdk_event_func_from_window_proc, FALSE by default.
2912
2913         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
2914         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
2915         are passed --gdk-event-func-from-window-proc.
2916
2917         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
2918         and we have am event_func, call it instead of enqueing the event.
2919
2920 1999-08-23  Tor Lillqvist  <tml@iki.fi>
2921
2922         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
2923         Kelley: Set expose_count in GdkEventExposes correctly.
2924
2925         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
2926         MULTIPLE_WINDOW_CLASSES).
2927
2928         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
2929         for bug in NT, apparently NT *does* draw the end pixel, too, in
2930         LineTo with a one-pixel pen, so we don't have to do it ourselves.
2931
2932 1999-08-21  Tor Lillqvist  <tml@iki.fi>
2933
2934         Improvements by Hans Breuer: 
2935
2936         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
2937
2938         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
2939         CS_?REDRAW flags as they cause lots of (late) redraws when "show
2940         window contents while dragging" is turned on. Allocate at least
2941         one unique class for every GdkWindowType. If support for single
2942         window-specific icons is ever needed (eg. Dialog specific), every
2943         such window should get its own class.
2944
2945 1999-08-19  Tor Lillqvist  <tml@iki.fi>
2946
2947         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
2948         error that caused crashes.
2949
2950 1999-08-17  Tor Lillqvist  <tml@iki.fi>
2951
2952         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
2953         window, use ScrollWindowEx, and call UpdateWindow. This prevents
2954         bugs when for instance part of the window was outside the
2955         display. Thanks to Philippe Colantoni for finding and fixing this.
2956
2957 1999-08-16  Tor Lillqvist  <tml@iki.fi>
2958
2959         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
2960         endpoint calculations which were totally wrong. (A little RTFMing
2961         helps a lot ;-)
2962
2963         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
2964         from a separate directory, not from gettext, because of licensing
2965         issues (we want to use the LGPL version).
2966
2967         * README.win32: Mention the intl from glibc vs from gettext issue.
2968
2969 1999-08-13  Tor Lillqvist  <tml@iki.fi>
2970
2971         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
2972         in the key event handling: Now AltGr chars work again. Also,
2973         now Alt-digits are passed up as well as Control-digits.
2974         Pass keypad plus and minus as normal plus and minus.
2975
2976 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
2977
2978         * docs/gtkfaq.sgml: FAQ Update
2979
2980 1999-07-25  Tor Lillqvist  <tml@iki.fi>
2981
2982         * README.win32
2983         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
2984         the Wintab SDK.
2985
2986         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
2987         OK, but getting closer. Guard against bogus tilt data from Wacom
2988         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
2989         enable easier building without Wintab.
2990
2991         * gdk/win32/gdkinput.h
2992         * gdk/win32/gdkevents.c 
2993         * gdk/win32/gdkwindow.c: Minor changes related related to above.
2994         
2995         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
2996         code. As we have just one visual on Win32, no sense to have it in a
2997         table, and no need for the hash table.
2998
2999         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
3000         better on white background.
3001
3002 1999-07-21  Tor Lillqvist  <tml@iki.fi>
3003
3004         * README.win32: Update gcc build instructions. Mention gettext is
3005         GPL.
3006
3007         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
3008         supported cursor size with GetSystemMetrics.
3009
3010         * gdk/win32/gdkfont.c
3011         * gtk/gtkfontsel.c: Guard against some font weight and charset
3012         symbols being undefined (in mingw32 headers).
3013
3014         * gdk/win32/makefile.cygwin
3015         * gtk/makefile.cygwin
3016         * gtk/gtkthemes.c: No longer need to have differently named
3017         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
3018
3019 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
3020
3021         * docs/gtkfaq.sgml: Long awaited FAQ update.
3022
3023 1999-07-15  Tor Lillqvist  <tml@iki.fi>
3024
3025         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
3026         it. Obscure bit manipulation needed.
3027
3028         * gdk/win32/gdkevents.c: Logging.
3029         
3030         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
3031         style (file name include compiler name) for theme engines.
3032
3033 1999-07-13  Tor Lillqvist  <tml@iki.fi>
3034
3035         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
3036
3037         * gdk/win32/gdkevents.c: Fix long-standing bug in key
3038         events. The key.string wasn't zero-terminated, still we strdup'ed
3039         it in gdk_event_copy(). Synthesize crossing events for button
3040         events before possible propagation.
3041
3042         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
3043
3044         * gdk/win32/makefile.cygwin
3045         * gtk/makefile.cygwin: Use new DLL naming style for the
3046         GCC-compiled ones.
3047
3048         * gdk/win32/makefile.msc
3049         * gtk/makefile.msc: Cosmetics mostly.
3050
3051         * gtk/gtk.def: Add missing entry points.
3052
3053         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
3054
3055 1999-07-09  Tor Lillqvist  <tml@iki.fi>
3056
3057         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
3058         or height is zero. Don't print a warning if Pie or Arc fails, they
3059         always fail (?) for very narrow ellipses.
3060
3061         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
3062         the part or the destination window corresponding to source area
3063         outside of the source drawable's boundary.
3064
3065         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
3066         anything if less than two points.
3067
3068         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
3069         return NULL. Gtk cut-and-paste inside a single program works
3070         better this way. (It always gets the clipboard contents from
3071         Windows, not from its own copy, which is cleared anyway. I can't
3072         say I fully understand what happens... Emulating the X selection
3073         and property stuff is a bit of a mess.)
3074
3075         * gdk/win32/gdkevents.c
3076         * gdk/win32/gdkproperty.c: A bit more verbose logging.
3077
3078         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
3079         that never got deleted). Revamp gdk_region_shrink.
3080
3081         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
3082         after use.
3083
3084         * gtk/gtk.def: Add some missing entry points.
3085
3086         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
3087         component.
3088
3089 1999-07-04  Tor Lillqvist  <tml@iki.fi>
3090
3091         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
3092         Control-digits specially.
3093
3094 1999-07-03  Tor Lillqvist  <tml@iki.fi>
3095
3096         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
3097
3098 1999-06-28  Tor Lillqvist  <tml@iki.fi>
3099
3100         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
3101         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
3102         finding this.)
3103
3104 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
3105
3106         * gtk+.spec.in: Corrected some typos in files section.
3107         
3108 1999-06-15  Tor Lillqvist  <tml@iki.fi>
3109
3110         * README.win32: Mention using GNU gettext.
3111         * config.h.win32: Enable NLS stuff.
3112         * gtk/makefile.msc: Use GNU gettext.
3113         * gdk/win32/gdkdnd.c: Minor header reorg.
3114         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
3115         cosmetics.
3116         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
3117         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
3118
3119 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
3120
3121         * acinclude.m4
3122         * config.guess
3123         * config.status
3124         * ltconfig
3125         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
3126
3127 1999-05-30  Tor Lillqvist  <tml@iki.fi>
3128
3129         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
3130         SafeAdjustWindowRectEx. Don't override all calls to
3131         AdjustWindowRectEx by it, but use it only in two places: When
3132         creating a new top-level window and when moving a top-level
3133         window.
3134
3135         Use screen coordinate rectangle, not client rectangle, in
3136         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
3137         when we try to place a window so that the decoration (mainly,
3138         title bar) isn't visible.
3139
3140         These changes fix the bug that showed up for instance as the
3141         GIMP's saved top-level windows moving right and down (by an amount
3142         equal to the window decoration) for each session. This bug showed
3143         up also in testgtk's "Saved Position".
3144
3145         gdk_window_resize also redone a bit.
3146
3147 1999-05-25  Tor Lillqvist  <tml@iki.fi>
3148
3149         * gtk/testgtkrc: Add (commented out) Windows-style theme
3150         include line.
3151
3152         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
3153
3154 1999-05-18  Tor Lillqvist  <tml@iki.fi>
3155
3156         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
3157         gdkx.h to a gdk subdirectory, so that applications can include
3158         these with <gdk/*.h> without trouble.
3159
3160         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
3161         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
3162         have their bitmap destroyed.
3163
3164         * gdk/win32/gdk.def: Add gdk_root_parent.
3165
3166 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
3167
3168         * configure.in
3169           gtk-config.in
3170           ltconfig
3171           ltmain.sh     
3172           gtk/Makefile.am: changes to compile nicely (with xlib) 
3173           on BeOS
3174
3175 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
3176
3177         * acinclude.m4
3178         * config.guess
3179         * config.sub
3180         * ltconfig
3181         * ltmain.sh: upgrade to libtool 1.3
3182
3183 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
3184
3185         * gtk/gtkclist.c:
3186         * gtk/gtkctree.c: merges from gtk-1-2
3187
3188 1999-04-25  Tor Lillqvist  <tml@iki.fi>
3189
3190         Support added for building using a GNU toolchain on Win32,
3191         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
3192
3193         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
3194         * config.h.win32: Changes for gcc.
3195         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
3196         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
3197         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
3198         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
3199         Protect shl stuff unavaiilable with mingw32 headers.
3200         * gdk/win32/gdkevents.c: Fix typo.
3201         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
3202         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
3203         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
3204         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
3205         the mingw32 headers.
3206         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
3207         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
3208         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
3209         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
3210         Test for NATIVE_WIN32, not _MSC_VER.
3211         * gtk/gtkmain.c: No use warning about developer version on Win32,
3212         there aren't any non-developer versions anyhow.
3213         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
3214         * gtk/makefile.msc: Use pthread from another directory. Minor other
3215         changes. 
3216
3217 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
3218
3219         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
3220           default filter from the list
3221
3222 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
3223
3224         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
3225          when gtk_widget_grab_default() is called for a widget that
3226          is not within a GtkWindow.
3227
3228 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
3229
3230         * docs/gtk_tut.sgml, examples/clist.c: use a
3231           scrolled window in the clist example. Minor
3232           tutorial fixes.
3233
3234 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
3235
3236         * docs/gtk_tut.sgml: Style check from David King
3237           <dking@youvegotmail.net>
3238
3239 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
3240
3241         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
3242         compile with unknown value of GDK_WINDOWING
3243
3244 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
3245
3246         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
3247         after the rule is fired.
3248         (install-exec-local): Install gdkconfig.h only if the contents are
3249         different from the currently installed gdkconfig.h.
3250
3251 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
3252
3253         * gdk/Makefile.am (configexecincludedir): Rename from 
3254         configincludedir so that gdkconfig.h will be installed 
3255         as part of `make install-exec'. 
3256
3257 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
3258
3259         * acinclude.m4
3260         * config.guess
3261         * config.sub
3262         * ltconfig
3263         * ltmain.sh: upgrade to libtool 1.2f
3264
3265         * autogen.sh: libtool is not required to autogen gtk+
3266
3267         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
3268         needed)
3269
3270 1999-03-18  Tor Lillqvist  <tml@iki.fi>
3271
3272         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
3273         declaring gdk variables exported/imported from the DLL. New image
3274         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
3275         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
3276         GDK_DRAG_PROTO_OLE2.
3277
3278         * gdk/gdk.h: Merge in Win32 version: Two new functions,
3279         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
3280         declared only for the Win32 version, but could be in the X11
3281         version as well. (Needed for a Xlib-less gdk_imlib.)
3282         gdk_color_hash should have only one parameter. Declare
3283         gdk_threads_mutex with GDKVAR.
3284         
3285         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
3286         just one parameter.
3287
3288         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
3289         per pixel, not bits.
3290
3291         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
3292         Fetch bpp (which means bits-per-pixel here) from another place on
3293         Win32. Accept also depth==32 (which we might get on Win32) with
3294         bpp==32.
3295
3296         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
3297         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
3298         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
3299         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
3300         in the backend-dependent directory, not in the common gdk
3301         directory.
3302
3303         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
3304         headers.
3305
3306 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
3307
3308         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
3309         want to use the Gtk+ devel version (which is true, and yes - even i am
3310         currently working with the 1.2.x branch). so everyone reading this, you
3311         probably want to issue
3312         cvs checkout -r glib-1-2 glib
3313         and
3314         cvs checkout -r gtk-1-2 gtk+
3315         as your next two comands.
3316
3317 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
3318
3319         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
3320         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
3321
3322         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
3323         file. strongly deprecated the GTK_HAVE_* macros, we provide
3324         GTK_CHECK_VERSION() for people that need to check for certain
3325         Gtk+ versions.
3326
3327         * gtk/gtkcompat.h: removed this from CVS.
3328         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
3329         idea right from the start, it just didn't seem like that back then.
3330
3331 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
3332
3333         * merges from gtk-1-2:
3334
3335 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
3336
3337         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
3338         item factory class has been created.
3339         (gtk_item_factory_parse_rc): likewise.
3340
3341         * gtk/gtkmenu.c:
3342         keep proper references for old_active_menu_item.
3343         (gtk_menu_reparent): unset the usize of the new parent,
3344         so the menu can sanely be size requested and we don't get nasty screen
3345         artefacts upon next reparentation.
3346         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
3347         enter notify. only synthesize enter notifies if the pointer really is
3348         inside the event window.
3349         (gtk_menu_popdown): use gtk_menu_shell_deselect().
3350         (gtk_menu_popup): move the background setting stuff into
3351         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
3352
3353         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
3354         gtk_menu_shell_select_item() to select the new item.
3355         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
3356         do the right thing for deselection as well.
3357
3358 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
3359
3360         * gtk/gtkwidget.[hc]:
3361         (gtk_widget_accelerators_locked): return whether a widget's accelerators
3362         are locked.
3363
3364         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
3365         existing accelerators if the widget's accelerators are locked.
3366
3367 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
3368
3369         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
3370
3371         * gtk/gtkmenu.c: truely forward key press and key release events to
3372         the menu widget from the toplevel or tearoff window. we can't simply
3373         connect to that, we need to stop further processing of the events as
3374         well.
3375
3376 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
3377
3378         * gtk/gtkmenu.c:
3379         (gtk_menu_key_press): pass event->keyval, event->state to
3380         gtk_accelerator_valid, instead of event->keyval twice.
3381         refuse to install single letter accelerators for menus that use
3382         single letter shortcuts.
3383
3384         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
3385         gtk_menu_ensure_uline_accel_group().
3386
3387         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
3388         which will always return an uline accel group, made
3389         gtk_menu_get_uline_accel_group() return NULL if the group isn't
3390         yet created.
3391
3392 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
3393
3394         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
3395
3396         * gtk/gtkclist.c (gtk_clist_column_title_passive):
3397         Leave button sensitive, trap  button_press, button_release,
3398         motion_notify, enter_notify and leave_notify events instead.
3399         (gtk_clist_column_title_active): disconnect event handler.
3400         (gtk_clist_drag_data_get): fixed memory leak. Reported by
3401         Guillaume Laurent <glaurent@worldnet.fr>
3402
3403 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
3404
3405         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
3406         width/height mixups.
3407
3408         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
3409         if needed.
3410
3411 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
3412
3413         * gtk/testgtk.c (create_item_factory): unref the item factory after
3414         window's destruction.
3415
3416         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
3417         count on the menu shell around the menu item's activation, since the
3418         signal emission may cause menu shell destruction.
3419
3420         * gtk/gtkitemfactory.c:
3421         the previous code leaked one accel group per menu. we use
3422         gtk_menu_get_uline_accel_group() now to fix that, and with that
3423         also create the underline accelerator group of the menus only if
3424         required (i.e. an underline accelerator has been specified).
3425         (gtk_item_factory_construct):
3426         (gtk_item_factory_create_item): removed code that would create an
3427         extra accel group for the menu (and leak references).
3428         (gtk_item_factory_create_item): adapted the underline accelerator
3429         installation code to properly feature gtk_menu_get_uline_accel_group().
3430
3431         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
3432         menu->accel_group, this may return NULL if the accelerator group
3433         hasn't been set yet.
3434         added gtk_menu_get_uline_accel_group() to retrive the underline
3435         accelerator group of the menu, this will be created on demand
3436         and proper care is taken about its reference count.
3437
3438         * gtk/gtkitemfactory.h:
3439         * gtk/gtkitemfactory.c:
3440         dumped the approach of keeping a widgets by action list on the
3441         factory since the factory<->widget destroy negotiation didn't work
3442         and would be hard to get going at all. instead we keep a list of
3443         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
3444         persistant throughout a program's life time).
3445         also, i removed the static const gchar *key_* variables, and made
3446         them inline strings (they weren't actually used anyways).
3447         (gtk_item_factory_add_item): update ifactory->items.
3448         (gtk_item_factory_destroy): destroy ifactory->items (and remove
3449         the item factory pointer from the remaining ifactory widgets).
3450         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
3451         list to find the widget.
3452         (gtk_item_factory_get_item): new function that works around
3453         gtk_item_factory_get_widget() limitations, this function will only
3454         return menu items, even for <Branch> entries.
3455
3456 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
3457
3458         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
3459         font hash table, if we have a GdkFontPrivate entry for this font
3460         already, simply increment its reference count, provided by Olaf Dietsche
3461         <olaf.dietsche+list.gtk@netcologne.de>.
3462
3463         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
3464         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
3465
3466 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
3467
3468         * gtk/gtkcontainer.c:
3469         (gtk_container_add_with_args):
3470         (gtk_container_addv):
3471         (gtk_container_add): before adding a child to a conatiner, make sure
3472         it is (default) constructed, this is neccessary because under certain
3473         circumstances the child will get relized and mapped immediatedly, in
3474         which case it has to be constructed already.
3475
3476 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
3477
3478         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
3479         values > 1 as TRUE also.
3480
3481 1999-03-16  Tor Lillqvist  <tml@iki.fi>
3482
3483         * README.win32: New file.
3484                 
3485         * configure.in: Check for lstat.
3486
3487         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
3488         completeness.
3489
3490         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
3491
3492         * gtk/gtk.def: Removed CRs.
3493
3494         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
3495         ..\gdk\win32).
3496
3497         * gdk/win32/makefile.msc: Correct upwards relative paths.
3498         
3499 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
3500
3501         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
3502           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
3503           it was connecting a void function to expose_event and the int
3504           returning function to the draw signal
3505
3506 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
3507
3508         * configure.in:
3509         Use correct path to libgmodule.la when ref'ing uninstalled copy
3510         of glib.  (Already in stable branch, Bug #417)
3511
3512 1999-03-15  Tor Lillqvist  <tml@iki.fi>
3513
3514         Win32 merge and general portability stuff:
3515                 
3516         * acconfig.h,configure.in: Check for <sys/time.h>.
3517
3518         * gdk/win32: New directory (actually, been there for a while).
3519         
3520         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
3521         NATIVE_WIN32, and use these. Always case fold on Win32. No
3522         backslashed escapes on native Win32.
3523
3524         * gtk/{gtk.def,makefile.msc}: New files.
3525
3526         * gtk/Makefile.am: Add above new files.
3527         
3528         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
3529         instead of <strings.h>.
3530
3531         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
3532         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
3533         <unistd.h> appropriately.
3534
3535         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
3536         Use ABS() (from <glib.h>) instead of abs().
3537         
3538         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
3539         of gtk (and thus glib) headers, so that WIN32 will be
3540         defined. With MS C, include <direct.h> for mkdir prototype.
3541
3542         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
3543         some casts, needed by MS C.
3544
3545         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
3546         implemented).
3547
3548         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
3549         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
3550         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
3551
3552         * gtk/gtkmain.h: Mark variables for export/import on Win32.
3553                 
3554         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
3555         the event is not a hint, or its window is not the slider. Needed
3556         on Win32, at least.
3557
3558         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
3559         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
3560         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
3561         a subdirectory of the Windows directory as gtk system
3562         configuration directory.
3563
3564         * gtk/gtkselection.c: No chunks on Win32.
3565
3566         * gtk/gtksocket.c: Not implemented on Win32.
3567
3568         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
3569
3570         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
3571
3572         * gtk/maketypes.awk: Declare variables with a macro that expands to
3573         necessary export/import magic in the case of Win32.
3574                 
3575         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
3576
3577 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
3578
3579         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
3580         since those were meant only for gdki18n.h.  
3581         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
3582         for widechar tests.
3583         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
3584
3585 1999-03-13  Tor Lillqvist  <tml@iki.fi>
3586
3587         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
3588         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
3589
3590         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
3591         installed) to CFLAGS.
3592
3593         * gdk/Makefile.am: Add rules for gdkconfig.h.
3594
3595         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
3596         APIs.
3597
3598         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
3599         gdkx.h anyway when compiling for X11.
3600         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
3601         general): Merge in Win32 version.
3602         
3603         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
3604         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
3605         expansion (if we don't have HAVE_PWD_H), allow for drive
3606         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
3607         included code from Craig Setera's port to Win32 (the one that uses
3608         X11, and the cygwin dll), even if it probably will be abandoned.
3609
3610         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
3611         the user entered one herself.  This way one can complete *.h and
3612         don't get matches on any .help files, for instance.
3613         
3614 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
3615
3616         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
3617         font hash table, if we have a GdkFontPrivate entry for this font
3618         already, simply increment its reference count, provided by Olaf Dietsche
3619         <olaf.dietsche+list.gtk@netcologne.de>.
3620
3621         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
3622         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
3623
3624 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3625
3626         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
3627         the number of calls to gdk_draw_point() (and thus to X) by
3628         clipping the points by hand.
3629
3630         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
3631         the clip parameter.
3632         (gtk_handle_box_paint): Only paint the handle if the expose area
3633         intersects it.
3634
3635 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
3636
3637         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
3638
3639 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
3640
3641         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
3642         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
3643
3644 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
3645
3646         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
3647          textmode (O_TEXT) for OS/2 version.
3648
3649 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
3650
3651         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
3652         GtkSpinButton, "input" and "output", to make the output more flexible.
3653         The user has to provide a mapping between adjustment->value and the
3654         output string (and vice versa, if the spin button is editable). 
3655         See testgtk for examples.
3656
3657 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
3658
3659         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
3660         new one.
3661         
3662         * configure.in: set gtk+ version to 1.3.0.