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