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