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