]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Fix the "language_set" blurb. (#129720, Christian Rose)
[~andy/gtk] / ChangeLog.pre-2-4
1 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
2
3         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
4         Fix the "language_set" blurb.  (#129720, Christian Rose)
5         
6
7 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
8
9         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
10         all of treeview when resizing (#110074, patch from Soeren Sandmann).
11
12 Fri Dec 19 23:36:00 2003  Kristian Rietveld  <kris@gtk.org>
13
14         Fixes #108458.
15
16         * gtk/gtkcelllayout.[ch]: added a reorder method.
17
18         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_init),
19         (gtk_tree_view_column_cell_layout_reorder): implement reorder.
20
21         * gtk/gtkcellview.c (gtk_cell_view_cell_layout_init),
22         (gtk_cell_view_cell_layout_reorder): ditto.
23
24         * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init),
25         (gtk_combo_box_cell_layout_reorder): ditto.
26
27         * gtk/gtkentrycompletion.c (gtk_entry_completion_cell_layout_init),
28         (gtk_entry_completion_reorder): ditto.
29
30 Fri Dec 19 22:18:19 2003  Kristian Rietveld  <kris@gtk.org>
31
32         * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): use strstr
33         instead of strcmp (#117127, suggestion from Soeren Sandmann).
34
35 Fri Dec 19 21:52:46 2003  Kristian Rietveld  <kris@gtk.org>
36
37         * gtk/gtkmenu.c (gtk_menu_do_insert): move item insertion logic
38         here from gtk_menu_real_insert(),
39         (gtk_menu_real_insert): just call gtk_menu_do_insert(),
40         (gtk_menu_reorder_child): run _do_insert after inserting the child
41         (unbreaks _reorder_child, reported by Tim Janik).
42
43 2003-12-19  Federico Mena Quintero  <federico@ximian.com>
44
45         * gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use
46         g_date_strftime() for UTF-8 correctness; use Julian dates to
47         simplify the function.
48
49 Fri Dec 19 01:47:34 2003  Matthias Clasen  <maclas@gmx.de>
50
51         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): 
52         Test extra_width, not extra_height, when determining whether to
53         set extra_width.  (#129647, Jan Arne Petersen)
54
55 Fri Dec 19 01:35:34 2003  Matthias Clasen  <maclas@gmx.de>
56
57         Fix the behaviour of insensitive actions, which was broken
58         when gtk_action_activate() was changed to pay attention to 
59         sensitivity  (#129557, Christian Persch)
60         
61         * gtk/gtkaction.h: 
62         * gtk/gtkaction.c (_gtk_action_emit_activate): New auxiliary
63         function to emit an activate signal without regard to sensitivity.
64
65         * gtk/gtkradioaction.c: 
66         * gtk/gtktoggleaction.c: Always use _gtk_action_emit_activate()
67         instead of gtk_action_activate().
68
69 Thu Dec 18 19:13:12 2003  Kristian Rietveld  <kris@gtk.org>
70
71         Fixes #110249, reworked patch from Joshua N Pritikin.
72
73         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_type),
74         (gtk_tree_model_sort_tree_drag_source_init),
75         (gtk_tree_model_sort_row_draggable),
76         (gtk_tree_model_sort_drag_data_get),
77         (gtk_tree_model_sort_drag_data_delete): implement GtkTreeDragSource.
78
79         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_type),
80         (gtk_tree_model_filter_tree_drag_source_init),
81         (gtk_tree_model_filter_row_draggable),
82         (gtk_tree_model_filter_drag_data_get),
83         (gtk_tree_model_filter_drag_data_delete): ditto.
84
85 Thu Dec 18 18:01:01 2003  Kristian Rietveld  <kris@gtk.org>
86
87         * gtk/gtktreeview.c (gtk_tree_view_class_init): add key bindings
88         for "*" and "/" (expand/collapse all). (#110195, reported by
89         Calum Benson).
90
91 Thu Dec 18 17:52:56 2003  Kristian Rietveld  <kris@gtk.org>
92
93         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
94         clear the extra_attrs list if we set "text" after "markup".
95         (Fixes #121933, Federico Mena Quintero).
96
97 2003-12-18  Alexander Larsson  <alexl@redhat.com>
98
99         * gtk/gtkicontheme.c (gtk_icon_info_get_embedded_rect):
100         Fix typo that used the wrong x/y values for the x1, y1 point
101         (#129605)
102
103 Thu Dec 18 01:41:50 2003  Kristian Rietveld  <kris@gtk.org>
104
105         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
106         (gtk_cell_renderer_text_finalize),
107         (gtk_cell_renderer_text_get_property),
108         (gtk_cell_renderer_text_set_property), (get_layout): added language
109         and language_set properties like GtkTextTag has. (#103800, reported
110         by Owen Taylor).
111
112 Thu Dec 18 01:37:59 2003  Matthias Clasen  <maclas@gmx.de>
113
114         * gtk/gtkwidget.c (gtk_widget_activate): Correct misleading docs.
115         * gtk/gtkbutton.c (gtk_button_class_init): Add docs for the 
116         "activate" signal.  (#129358, Ka-Hing Cheung)
117
118 Thu Dec 18 01:21:59 2003  Kristian Rietveld  <kris@gtk.org>
119
120         * gtk/gtktreeview.c (gtk_tree_view_class_init): Jonathan got
121         the logical flag backwards in the expand_collapse_cursor_row
122         bindings, fixing.
123         (gtk_tree_view_real_expand_collapse_cursor_row): invert expand
124         flag when !logical and in RTL. (Fixes #107527, reported by
125         Noah Levitt).
126
127 Thu Dec 18 01:10:16 2003  Kristian Rietveld  <kris@gtk.org>
128
129         * gtk/gtktreeview.c (gtk_tree_view_button_press): only start
130         editing when activated by the left mouse button. (#106869,
131         patch from Evan Martin).
132
133 Thu Dec 18 00:57:18 2003  Kristian Rietveld  <kris@gtk.org>
134
135         Migrating all cell renderers to use the new instance private data
136         construction.
137
138         * gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no
139         longer being used.
140
141         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init),
142         (gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property),
143         (set_cell_bg_color), (gtk_cell_renderer_render): remove old
144         GtkCellRendererInfo handling, migrate to instance private data.
145
146         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
147         (gtk_cell_renderer_text_start_editing): moved focus_out_id
148         from GtkCellRendererInfo to text renderer private data.
149
150         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init),
151         (gtk_cell_renderer_pixbuf_class_init),
152         (gtk_cell_renderer_pixbuf_finalize),
153         (gtk_cell_renderer_pixbuf_get_property),
154         (gtk_cell_renderer_pixbuf_set_property),
155         (gtk_cell_renderer_pixbuf_create_stock_pixbuf),
156         (gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render):
157         migrate to instance private data.
158
159         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
160         (gtk_cell_renderer_toggle_get_property),
161         (gtk_cell_renderer_toggle_set_property),
162         (gtk_cell_renderer_toggle_render): migrate to instance private data.
163
164 Thu Dec 18 00:24:32 2003  Kristian Rietveld  <kris@gtk.org>
165
166         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
167         (gtk_cell_renderer_text_get_property),
168         (gtk_cell_renderer_text_set_property), (get_layout): add a
169         single-paragraph-mode property, use private instance data.
170         (Fixes #114943, reported by Morten Welinder).
171
172 Thu Dec 18 00:07:01 2003  Kristian Rietveld  <kris@gtk.org>
173
174         * gtk/gtktreemodel.h (gtk_tree_path_new_root),
175         (gtk_tree_model_get_iter_root): now deprecated (#106953, reported
176         by Matthias Clasen).
177
178 Wed Dec 17 23:50:56 2003  Kristian Rietveld  <kris@gtk.org>
179
180         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
181         if we set a new stock_id and there was a previous stock_id, unref
182         the pixbuf (since it was used to renderer the previous stock_id
183         and stock_id might have been set to NULL now). (Fixes #122966).
184
185 2003-12-17  Marco Pesenti Gritti  <marco@gnome.org>
186
187         * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_get_iter):
188
189         Check that index is not bigger than level array length
190         also when depth is 1. Now get_iter_first correctly return
191         FALSE when the model is empty (#129411).
192
193 Wed Dec 17 23:31:19 2003  Kristian Rietveld  <kris@gtk.org>
194
195         * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
196         try to strcmp or strlen if we managed to normalize and casefold
197         the string correctly. Fixes crashes with non-UTF8 strings.
198         (#121617, Patch from Tim-Philipp Müller).
199
200 Wed Dec 17 23:20:23 2003  Matthias Clasen  <maclas@gmx.de>
201
202         * gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
203         GDK_THREADS_ENTER()/GDK_THREADS_LEAVE().
204         * gtk/gtkcalendar.c, gtk/gtkclist.c, gtk/gtkexpander.c, 
205         gtk/gtklist.c, gtk/gtknotebook.c, gtk/gtkselection.c, 
206         gtk/gtkspinbutton.c: Cast second argument to g_timeout_add() to
207         GSourceFunc instead of GtkFunction.  (#129525, Olexiy Avramchenko) 
208
209 Wed Dec 17 23:16:45 2003  Kristian Rietveld  <kris@gtk.org>
210
211         * gtk/gtktreeview.c (gtk_tree_view_button_press): fix compile warning.
212         (#122727, patch from Kjartan Maraas).
213
214 Wed Dec 17 21:23:01 2003  Kristian Rietveld  <kris@gtk.org>
215
216         Yay! Fixed height mode! Hooray! (Part 2 of #80868).
217
218         * gtk/gtktreeview.c (gtk_tree_view_class_init),
219         (gtk_tree_view_init), (gtk_tree_view_set_property),
220         (gtk_tree_view_get_property), (gtk_tree_view_set_model): add a
221         fixed_height_mode property,
222         (intialize_fixed_height_mode), (do_validate_rows),
223         (column_sizing_notify), (gtk_tree_view_set_fixed_height_mode),
224         (gtk_tree_view_style_set), (gtk_tree_view_row_changed),
225         (gtk_tree_view_row_inserted), (gtk_tree_view_remove_column),
226         (gtk_tree_view_insert_column): implement fixed height mode,
227         (gtk_tree_view_append_column), (gtk_tree_view_insert_column),
228         (gtk_tree_view_insert_column_with_attributes),
229         (gtk_tree_view_insert_column_with_data_func): update docs.
230
231         * gtk/gtktreeprivate.h: add two fields to GtkTreePrivate.
232
233 2003-12-07  Murray Cumming  <murrayc@usa.net>
234  
235         * gtk/gtktreemodel.c:
236         (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
237         Actually call the default signal handlers instead of calling the
238         marshallers themselves in an endless loop. These default signal handler
239         callbacks are not actually set so this is only noticed by gtkmm at
240         the moment. Bug 123923.
241
242 2003-12-16  Federico Mena Quintero  <federico@ximian.com>
243
244         * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
245         "volumes-changed" signal.  Added the following methods:
246                 list_volumes
247                 volume_free
248                 volume_get_base_path
249                 volume_get_is_mounted
250                 volume_mount
251                 volume_get_display_name
252                 volume_render_icon
253
254         * gtk/gtkfilesystem.c (gtk_file_system_base_init): Create the
255         "volumes-changed" signal.
256         (gtk_file_system_list_volumes): New function.
257         (gtk_file_system_volume_free): New function.
258         (gtk_file_system_volume_get_base_path): New function.
259         (gtk_file_system_volume_get_is_mounted): New function.
260         (gtk_file_system_volume_mount): New function.
261         (gtk_file_system_volume_get_display_name): New function.
262         (gtk_file_system_volume_render_icon): New function.
263
264         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_free): Implement.
265         (gtk_file_system_unix_volume_get_base_path): Implement.
266         (gtk_file_system_unix_volume_get_is_mounted): Implement.
267         (gtk_file_system_unix_volume_mount): Implement.
268         (gtk_file_system_unix_volume_get_display_name): Implement.
269         (gtk_file_system_unix_volume_render_icon): Implement.
270
271         * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
272         Added a field for the "volumes-changed" signal connection.
273         (gtk_file_chooser_default_set_property): Connect to
274         "volumes-changed" on the file system.
275         (gtk_file_chooser_default_finalize): Disconnect from
276         "volumes-changed".
277
278         * gtk/gtkfilechooserdefault.c (shortcuts_remove_rows): New helper
279         function.
280         (shortcuts_get_index): New helper function.
281         (shortcuts_insert_path): Can now insert volumes as well as paths.
282         (shortcuts_append_paths): Don't take is_file_system_root.
283         (shortcuts_add_volumes): New function.
284         (shortcuts_append_file_system_roots): Removed.
285         (create_shortcuts_model): Use shortcuts_add_volumes().
286         (remove_bookmark_button_clicked_cb): Check that the index is
287         within range.
288         (bookmarks_check_add_sensitivity): Take volumes into account.
289         (shortcuts_get_selected_index): New helper function.
290         (remove_bookmark_button_clicked_cb): Use
291         shortcuts_get_selected_index().
292         (bookmarks_check_remove_sensitivity): Likewise.
293         (shortcuts_select_func): Likewise.
294         (shortcuts_row_activated_cb): Handle volumes as well as normal
295         paths.
296         (shortcuts_activate_volume): New function.
297         (struct _GtkFileChooserDefault): Removed the bookmarks_set and
298         bookmarks_iter fields.
299         (shortcuts_append_bookmarks): Use shortcuts_remove_rows().
300         (bookmarks_changed_cb): Use shortcuts_add_bookmarks().
301         (remove_bookmark_rows): Removed.
302         (shortcuts_add_bookmarks): New function; moved most of the code
303         over from shortcuts_append_bookmarks().
304         (shortcuts_append_bookmarks): Add the separator node here, and
305         then call shortcuts_add_bookmarks().
306
307 Tue Dec 16 15:01:10 2003  Manish Singh  <yosh@gimp.org>
308
309         * gtk/gtkfilechooserwidget.c: fix preprocessor conditional confusion.
310         (G_OS_UNIX/G_OS_WIN32 stuff)
311
312 Tue Dec 16 01:46:46 2003  Matthias Clasen  <maclas@gmx.de>
313
314         Do not interpret distant clicks as double-clicks  (#116541,
315         Bernhard Walle):
316         
317         * gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
318         double_click_distance, button_x and button_y.
319         * gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.
320
321         * gdk/gdkdisplay.h: 
322         * gdk/gdkevents.c (gdk_display_set_double_click_distance): 
323         New function to set the double click distance on a display.
324
325         * gdk/gdkevents.c: Take double click distance into account
326         when generating single, double or triple clicks.
327
328         * gtk/gtksettings.c: Add new setting "gtk-double-click-distance".
329
330         * gdk/x11/gdkevents-x11.c: Add the XSetting 
331         "Net/DoubleClickDistance" and map it to "gtk-double-click-distance".
332
333 2003-12-15  Federico Mena Quintero  <federico@ximian.com>
334
335         * gtk/gtkdialog.c: Sigh, revert the change.
336
337 2003-12-15  Federico Mena Quintero  <federico@ximian.com>
338
339         * gtk/gtkdialog.c (dialog_has_cancel): Removed.
340         (gtk_dialog_close): Don't call dialog_has_cancel().  At least
341         allows sane behavior for #101293.
342
343 Mon Dec 15 00:56:54 2003  Matthias Clasen  <maclas@gmx.de>
344
345         * gtk/gtkbutton.[hc]: Add new properties, xalign and yalign, with
346         getter and setter gtk_button_[sg]et_alignment(), to set the
347         alignment of the child.  (#70961, Jody Goldberg)
348
349 2003-12-14  Hans Breuer  <hans@breuer.org>
350
351         * gtk/gtkprivate.h gtk/gtkmain.c : handle GTK_DATADIR
352         similar as the other filesystem placement 'constants' (dynamic
353         resolving on win32)
354
355         * gtk/gtkfilechooserwidget.c : handle file system to win32
356         renaming here as will
357         * gtk/gtkfilesystemwin32.c : implement render_icon
358
359         * gtk/gtk.def gdk/gdk.def : updated externals
360
361         * gdk/win32/gdkdisplay-win32.c : make it compile without
362         <multimon.h> - i.e. even older sdk
363
364         * gdk/win32/gdkevents-win32.c : match resize_timer_proc
365         with TIMERPROC prototype
366
367         * gdk/win32/gdkwindow-win32.c : older msvc does not know
368         BITMAPV5HEADER (from win xp) either
369
370         * gtk/gtkimmodule.c : make it compile even if GTK_LOCALEDIR is
371         not defined
372
373         * tests/testfilechooser.c : recent GLib crashes on 
374         g_print ("%s", NULL) so avoid this
375
376 2003-12-14  Tor Lillqvist  <tml@iki.fi>
377
378         * gdk/win32/gdkselection-win32.c: Calls to OpenClipboard() must be
379         followed by calls to CloseClipboard(). Add a missing call to
380         CloseClipboard(). Found by Adam Wright, fixes #104944. Use
381         API_CALL macro in more places.
382
383 2003-12-14  Tor Lillqvist  <tml@iki.fi>
384
385         Merge from stable:
386
387         * gdk/gdkdisplaymanager.c: Mark default_display static.
388
389         * gdk/win32/gdkdnd-win32.c: Mark current_dest_drag static.
390
391         * gdk/win32/gdkkeys-win32.c: Disable some overly verbose debugging
392         output.
393
394         * gdk/win32/gdkevents-win32.c: Clean up the debugging output from
395         --gdk-debug=events. In general, output just one line of debugging
396         output for each Windows message, plus one line for each GDK event
397         generated. Indent all lines according to window procedure nesting
398         level.
399
400         (inner_window_procedure): Rename from real_window_procedure.
401
402         (find_real_window_for_grabbed_mouse_event): Don't get misled when
403         the point is in the non-client (decoration) area of the window
404         returned by WindowFromPoint(). Return the root window in that
405         case.
406
407         (build_pointer_event_state): Test also MK_XBUTTON1 and
408         MK_XBUTTON2 (buttons 4 and 5).
409
410         (synthesize_enter_event): Track the mouse leaving the window in
411         the event being generated, not the one mentioned in the Windows
412         message.
413
414         (propagate): Test for NULL parent earlier. Improves event
415         generation from a grabbed pointer. Part of fix for #107320.
416
417         (handle_stuff_while_moving_or_resizing): New function, to
418         dispatch the main loop (once).
419
420         (resize_timer_proc): New function, set to be called by an inerval
421         timer during resizes/moves. Calls handle_stuff_while_moving_or_resizing().
422
423         (gdk_event_translate): Drop unused return_exposes parameter.
424
425         Handle WM_XBUTTONDOWN and UP messages (buttons 4 and 5).
426
427         On WM_SYSKEYUP, generate a key release event also for just the Alt
428         key.
429
430         On WM_MOUSELEAVE, generate a leave event of type
431         GDK_NOTIFY_ANCESTOR (and not UNKNOWN) if the mouse left a
432         top-level window, and left the app completely.
433
434         On WM_ENTERSIZEMOVE, set a flag, and start an interval timer that
435         calls resize_timer_proc() at regular intervals. On
436         WM_EXITSIZEMOVE, kill the timer.
437
438         On WM_WINDOWPOSCHANGED, generate a configure event if necessary,
439         and dispatch the main loop (by calling
440         handle_stuff_while_moving_or_resizing()). Fixes #99540, idea by
441         Herman Bloggs.
442
443         * gdk/win32/gdkmain-win32.c (_gdk_win32_message_to_string): Handle
444         also wintab messages.
445
446         * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
447         Instead of using WS_EX_TOOLWINDOW, implement by setting/unsetting
448         the window's owner. Fixes #118093, reported by Maxime Romano.
449
450 Tue Dec  8 09:41:00 2003  Tim Evans  <t.evans@aranz.com>
451
452         * gdk/win32/gdkwindow-win32.[ch]: Implement
453         gdk_window_set_icon_list() for Win32, with support for big and
454         small icons and support for alpha-channel icons under Windows
455         XP. Replaces the previous implementation of gdk_window_set_icon().
456         (#128762)
457         
458 Sun Dec 14 01:28:23 2003  Matthias Clasen  <maclas@gmx.de>
459
460         * gdk/x11/gdkprivate-x11.h: 
461         * gdk/x11/gdkx.h: 
462         * gdk/x11/gdkevents-x11.c (gdk_x11_register_standard_event_type): 
463         Rename from _gdk_x11_register_event_type(), added API docs.
464         * gdk/x11/gdkinput-x11.c (_gdk_input_common_init): 
465         * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): Adjust
466         all callers.  (#121471, Bill Haneman)
467
468 Sat Dec 13 23:37:50 2003  Matthias Clasen  <maclas@gmx.de>
469
470         * gdk/gdkdraw.c (gdk_draw_pixbuf): Document that the clip mask
471         of gc is ignored.  (#101983, Sebastian Rittau)
472
473 Sat Dec 13 16:13:27 2003  Kristian Rietveld  <kris@gtk.org>
474
475         A trick for a faster treeview, step 1. Patch to short circuit
476         _build_tree(), inspired by Jonathan (#80868).
477
478         * gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in
479         flags by default,
480         (gtk_tree_view_build_tree): don't even try to recurse when the
481         model says that it is a list, remove flag unsetter,
482         (gtk_tree_view_set_model): change flag setting logic.
483
484         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags):
485         propagate whether or not the child model has _IS_LIST set.
486
487         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags):
488         ditto.
489
490 Sat Dec 13 02:33:17 2003  Matthias Clasen  <maclas@gmx.de>
491
492         * gtk/gtkrange.c (gtk_range_scroll): Undo the last change, 
493         since it broke logical keynav. 
494         * gtk/gtkrange.c (range_get_scroll_for_grab): Fix stepper
495         direction in inverted scrollbars here instead.
496
497 Sat Dec 13 00:39:24 2003  Matthias Clasen  <maclas@gmx.de>
498
499         * gtk/gtkviewport.c (viewport_set_hadjustment_values): Implement
500         "gravity" for RTL mode in a better way: Keep the distance from 
501         the upper end of the page to the upper bound constant. This also 
502         fixes problems with the initial position of the viewport in RTL 
503         mode.  (#129063)
504         
505 Fri Dec 12 21:00:12 2003  Kristian Rietveld  <kris@gtk.org>
506
507         Combo box flipping support.
508
509         * gtk/gtkcombobox.c (gtk_combo_box_menu_position),
510         (gtk_combo_box_size_allocate): support RTL flipping (#126518,
511         patch from Matthias Clasen),
512         (gtk_combo_box_popup): fix popup window alignment if there's a
513         cell view frame visible (#126518, patch from Semion Chichelnitsky).
514
515         * gtk/gtkcellview.c (gtk_cell_view_expose): support RTL flipping
516         (#128348, patch from Semion Chichelnitsky).
517
518 Fri Dec 12 01:13:34 2003  Matthias Clasen  <maclas@gmx.de>
519
520         * examples/gtkdial/gtkdial.c:
521         * examples/menu/menu.c:
522         * examples/scribble-xinput/scribble-xinput.c:
523         * examples/progressbar/progressbar.c:
524         * docs/tutorial/gtk-tut.sgml: Remove deprecated functions
525         in examples. (#129074, Olexiy Avramchenko)
526         * examples/calendar/Makefile:
527         * examples/rangewidgets/Makefile:
528         * examples/menu/Makefile: Allow deprecated functions in
529         examples which use deprecated widgets.
530
531 Fri Dec 12 00:43:16 2003  Matthias Clasen  <maclas@gmx.de>
532
533         * gdk/gdk.c (gdk_threads_set_lock_functions): 
534         * gdk/x11/gdkspawn-x11.c: Add "Since: 2.4" to doc comments.
535
536 Fri Dec 12 00:05:31 2003  Matthias Clasen  <maclas@gmx.de>
537
538         * gtk/gtkrange.c (gtk_range_scroll): Fix direction of 
539         steppers in inverted scrollbars.  (#129084, Olexiy Avramchenko)
540
541 Thu Dec 11 23:50:30 2003  Matthias Clasen  <maclas@gmx.de>
542
543         * gtk/gtknotebook.c (gtk_notebook_pages_allocate): Don't 
544         unnecessarily reserve space for arrows in RTL mode.  (#129075,
545         Semion Chichelnitsky)
546
547 Thu Dec 11 00:35:12 2003  Matthias Clasen  <maclas@gmx.de>
548
549         Changes to allow "no input" windows (#64613):
550         
551         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
552         field accept_focus.
553         
554         * gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
555         set it.
556
557         * gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
558         and gtk_window_get_focus() and gtk_window_set_focus().
559
560         * gdk/win32/gdkwindow-win32.c (gdk_window_new): 
561         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new): 
562         * gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
563         Initialize the accept_focus field to TRUE.
564
565         * gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus): 
566         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus): 
567         * gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus): 
568         Implementations for the various backends. The Win32 and linux-fb
569         implementations set the accept_focus field, but don't use it yet 
570         to actually implement noinput windows. The X implementation updates
571         the WM_HINTS to select the globally active input model (see the
572         ICCCM) if accept_focus is FALSE.
573
574         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
575         WM_TAKE_FOCUS message if accept_focus is FALSE.
576         
577 2003-12-10  Federico Mena Quintero  <federico@ximian.com>
578
579         * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
580         Added toolbar items for the filter separator and the filter item.
581         (toolbar_create): Add the filter widgets here.
582         (filter_create): Renamed from create_filter().  Don't store the
583         alignment in the impl structure, just return it.
584         (toolbar_show_filters): New function.
585         (gtk_file_chooser_default_add_filter): Use toolbar_show_filters().
586         (gtk_file_chooser_default_remove_filter): Likewise.
587         (gtk_file_chooser_default_constructor): Don't create the filter
588         widget here.
589         (struct _GtkFileChooserDefault): Added a field for a current
590         folder label.
591         (gtk_file_chooser_default_constructor): Create the folder label.
592         (gtk_file_chooser_default_set_current_folder): Set the current
593         folder label.
594
595         * tests/testfilechooser.c (main): Dramatically improved the
596         usability of the extra widget through careful word choice.
597
598 2003-12-10  Mark McLoughlin  <mark@skynet.ie>
599
600         * gdk/gdk.h: include gdkspawn.h.
601
602 2003-12-10  Mark McLoughlin  <mark@skynet.ie>
603
604         * gdk/linux-fb/gdkspawn-fb.c,
605           gdk/win32/gdkspawn-win32.c,
606           gdk/x11/gdkspawn-x11.c: (gdk_spawn_command_line_on_screen):
607         s/gdk_spawn/gdk_spawn_on_screen/.
608
609 2003-12-10  Mark McLoughlin  <mark@skynet.ie>
610
611         Utility functions for multi-screen applications which need
612         to ensure launched applications appear on a certain screen.
613         See bug #95897.
614         
615         * gdk/gdkspawn.h: header for multi-screen launching
616         support.
617         
618         * gdk/Makefile.am: install gdkspawn.h.
619         
620         * gdk/x11/Makefile.am:
621         * gdk/x11/gdkspawn-x11.c:
622         (gdk_spawn_make_environment_for_screen): private function
623         to create an environment vector with DISPLAY set appropriately
624         for the screen.
625         (gdk_spawn_on_screen): multi-screen version of g_spawn_async().
626         (gdk_spawn_on_screen_with_pipes): version of g_spawn_async_with_pipes().
627         (gdk_spawn_command_line_on_screen): version of g_spawn_command_line_async().
628         
629         * gdk/linux-fb/Makefile.am,
630           gdk/linux-fb/gdkspawn-fb.c: linux-fb impl.
631         
632         * gdk/win32/Makefile.am,
633           gdk/win32/gdkspawn-win32.c: win32 impl.
634
635 2003-12-09  Federico Mena Quintero  <federico@ximian.com>
636
637         * gtk/gtkfilechooserdefault.c (shortcuts_append_home): Use "Home"
638         rather than "Username's Home" (#125964).
639         (shortcuts_selection_changed_cb): New callback, check the
640         sensitivity of the Remove Bookmark button at the right time.
641         (shortcuts_row_activated_cb): It is not necessary to check the
642         sensitivity here.
643
644 Wed Dec 10 00:06:24 2003  Matthias Clasen  <maclas@gmx.de>
645
646         Improve the GDK API for dealing with group leaders (#119375):
647         
648         * gdk/gdkwindow.h: 
649         * gdk/x11/gdkwindow-x11.c (gdk_window_get_group): New function to 
650         get the group leader of a toplevel window as a GdkWindow.
651
652         * gdk/gdkdisplay.h: 
653         * gdk/x11/gdkdisplay-x11.c (gdk_display_get_default_group): New 
654         function to get the default group leader as a GdkWindow.
655
656         * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a field for
657         the GdkWindow of the default group leader.
658         
659         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Construct the GdkWindow
660         for the default group leader.
661
662 2003-12-09  Noah Levitt  <nlevitt@columbia.edu>
663
664         * gdk/gdkkeysyms.h:
665         * gdk/gdkkeyuni.c: Add keysyms Ukrainian_ghe_with_upturn,
666         Ukrainian_GHE_WITH_UPTURN. (#128529)
667
668 2003-12-08  Jan Arne Petersen  <jpetersen@uni-bonn.de>
669
670         * gtk/gtkfilechooserdefault.c:
671         (gtk_file_chooser_default_get_paths), (entry_activate): Use the
672         behavior of the GtkFileSelection to determine selected paths in
673         single selected, GTK_FILE_CHOOSER_ACTION_SAVE mode.
674
675 2003-12-08  Federico Mena Quintero  <federico@ximian.com>
676
677         * gtk/gtkfilechooserdefault.c
678         (gtk_file_chooser_default_get_paths): Don't declare the closure
679         struct twice.
680         (get_paths_foreach): Likewise.
681
682 Tue Dec  9 00:12:36 2003  Matthias Clasen  <maclas@gmx.de>
683
684         * gtk/gtkfilesystemwin32.[hc]: s/Unix/Win32/g. 
685
686 2003-12-08  Tor Lillqvist  <tml@iki.fi>
687
688         * gdk/win32/gdkdisplay-win32.c: Use <multimon.h> when compiling
689         with MSVC and old headers. (#126933, John Ehresman)
690
691 Mon Dec  8 10:54:44 2003  Owen Taylor  <otaylor@redhat.com>
692          
693         * === Released 2.3.1 ===
694
695         * NEWS: Updates for 2.3.1
696
697         * configure.in: Version 2.3.1, interface age 0, binary age 301.
698
699         * gtk/gtkmenuitem.c (gtk_menu_item_can_activate_accel):
700         Rename from gtk_menu_item_real_can_activate_accel() to
701         match GTK+ convention, improve comment.
702
703         * gtk/gtkwidget.c: Document gtk_widget_can_activate_accel(),
704         can ::can-activate-accel signal.
705
706         * gtk/gtkwidget.c (closure_accel_activate): Fix spelling
707         in comment.
708
709         * gtk/gtkmenu.c (gtk_menu_real_can_activate_accel): Clean 
710         up comment.
711         
712         * gtk/gtkcellview{,menuitem}.[ch]: Move GET_PRIVATE() macros
713         into the .c file.
714
715 Mon Dec  8 12:09:21 2003  Owen Taylor  <otaylor@redhat.com>
716
717         * gtk/gtkicontheme.c (find_builtin_icon): Fix a
718         missing 'else'. (#128816, Jorn Baayen)
719
720 2003-12-02  Michael Meeks  <michael@ximian.com>
721
722         Based on a patch by Martin Kretzschmar; #122448
723         
724         * gdk/gdk.h: new gdk_threads_lock, gdk_threads_unlock, point to
725         implementation of GDK_THREADS_ENTER / GDK_THREADS_LEAVE.
726         (GDK_THREADS_ENTER, GDK_THREADS_LEAVE): use gdk_threads_[un]lock
727         function pointers. Deprecate the global gdk_threads_mutex variable.
728         
729         * gdk/gdk.c (gdk_threads_impl_lock, gdk_threads_impl_unlock): new,
730         extracted from GTK_THREADS_ENTER/LEAVE macros.
731         (gdk_threads_init): init gtk_threads_[un]lock if not set.
732         (gdk_threads_set_lock_functions): impl.
733
734         * gdk/gdkglobals.c: add definitions of gdk_threads_[un]lock.
735
736 Sun Dec  7 23:45:40 2003  Matthias Clasen  <maclas@gmx.de>
737
738         * gtk/gtkicontheme.c (gtk_icon_theme_has_icon): Don't crash if
739         icon_theme_builtin_icons hasn't been initialized.  (#128726, Diego
740         Gonzalez)
741
742 2003-12-07  Tor Lillqvist  <tml@iki.fi>
743
744         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon): Don't use the
745         return value from SendMessage(WM_SETICON). That is the old
746         icon. Fixes GDI resource leak. (#128559, Tim Evans)
747
748         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): If we already
749         have a pointer grab active with a grab cursor set, destroy that
750         cursor to avoid a GDI resource leak. (#128410, Tim Evans)
751
752 2003-12-05  Paisa Seeluangsawat  <paisa@users.sf.net>
753
754         * configure.in: Added Thai (th) to ALL_LINGUAS.
755
756 Sat Dec  6 01:42:04 2003  Matthias Clasen  <maclas@gmx.de>
757
758         * gtk/gtkalignment.c (gtk_alignment_size_allocate): Implement
759         RTL flipping for GtkAlignment.  (#127585)
760
761 Sat Dec  6 01:13:09 2003  Matthias Clasen  <maclas@gmx.de>
762
763         * gtk/gtkcombo.c (gtk_combo_get_pos): Fix the position of the 
764         popup window when in RTL mode.  (#127578)
765
766 Fri Dec  5 15:30:16 2003  Manish Singh  <yosh@gimp.org>
767
768         * gtk/gtkaccelgroup.c (quick_accel_find): Applied patch from
769         Ross McFarland <rwmcfa1@neces.com>, initialize *count_p to 0
770         before doing anything to prevent garbage returns.
771
772 Sat Dec  6 00:23:46 2003  Matthias Clasen  <maclas@gmx.de>
773
774         * gtk/gtkviewport.c: Implement RTL flipping for 
775         GtkViewport: Adjust the "gravity" when resizing
776         This is a bit flickery in RTL mode.  (#107526)
777
778 Sat Dec  6 00:22:14 2003  Matthias Clasen  <maclas@gmx.de>
779
780         * gtk/gtkscrolledwindow.c: Implement RTL flipping for 
781         GtkScrolledWindow: the vertical scrollbar shows up on the left
782         side in RTL mode.  (#107526)
783
784 Fri Dec  5 01:58:33 2003  Matthias Clasen  <maclas@gmx.de>
785
786         * gtk/gtknotebook.c: Implement RTL flipping for GtkNotebook:
787         tabs displayed at the top/bottom are rearranged, and tabs on
788         the left/right are displayed at the opposite edge.  (#96630)
789
790 2003-12-04  Mark McLoughlin  <mark@skynet.ie>
791
792         * gtk/gtklabel.c: (gtk_label_set_attributes_internal): Allow
793         gtk_label_set_attributes() take NULL. See bug #128517.
794
795 2003-12-03  Federico Mena Quintero  <federico@ximian.com>
796
797         * gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Removed
798         the in_change flag.
799         (completion_idle_callback): Use a temporary list store and re-set
800         it on the completion rather than modifying the old one.  We are
801         re-reading the folder anyway, and this gets rid of non-atomicity
802         problems.
803
804 2003-12-01  Federico Mena Quintero  <federico@ximian.com>
805
806         Decouple impl->current_folder from the selection in the folder
807         tree.  This is so that going to /home/federico/.foo (e.g. from a
808         bookmark) will work even if show_hidden == FALSE.  The folder tree
809         needs to be fixed in this case to show such folders explicitly.
810
811         * gtk/gtkfilechooserdefault.c
812         (gtk_file_chooser_default_set_current_folder): When changing
813         folders, do the entry and list model work here, instead of
814         tree_selection_changed().
815         (struct _GtkFileChooserDefault): Added a changing_folder flag
816         again, dum de dum.
817         (tree_selection_changed): Use _gtk_file_chooser_set_current_folder_path().
818
819 Tue Dec  2 01:01:54 2003  Matthias Clasen  <maclas@gmx.de>
820
821         * gtk/gtkiconfactory.h: Remove duplicate declaration of 
822         gtk_icon_source_set_icon_name().  (#Jeff Franks, #128269)
823
824 2003-12-01  Federico Mena Quintero  <federico@ximian.com>
825
826         Patch from Hans-Petter Jansson <hpj@ximian.com> to align the
827         bookmarks buttons with the location entry.
828
829         * gtk/gtkfilechooserdefault.c
830         (gtk_file_chooser_default_constructor): Use a GtkSizeGroup for the
831         bookmarks buttons and the location entry.
832
833 2003-12-01  Federico Mena Quintero  <federico@ximian.com>
834
835         * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Set the
836         shortcuts tree as a drag destination.
837         (shortcuts_drag_data_received_cb): New callback.
838         (get_file_info): Also fetch information on whether the file is a folder.
839         (add_bookmark_button_clicked_cb): Use error_could_not_add_bookmark_dialog().
840         (error_could_not_add_bookmark_dialog): New function.
841         (shortcuts_add_bookmark_from_path): New helper function.
842         (add_bookmark_button_clicked_cb): Use shortcuts_add_bookmark_from_path().
843         (shortcuts_row_activated): We no longer need the changing_folder flag.
844         (struct _GtkFileChooserDefault): Likewise.
845
846 Sun Nov 30 17:31:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
847
848         * gtk/gtktoolbar.c (slide_idle_handler): return TRUE if there are
849         disappearing placeholders that are still visible.
850
851         * gtk/gtktoolbar.c: formatting fixes
852
853         * gtk/gtktoolbar.c (struct _ToolbarContent): new bit:
854         disappearing, for placeholders that are going to disappear.
855
856         * gtk/gtktoolbar.c (get_item_size): return 0 for disappearing placeholders
857
858 Sat Nov 29 00:55:28 2003  Jonathan Blandford  <jrb@gnome.org>
859
860         * gtk/gtktreeview.c (gtk_tree_view_new_column_width): 
861         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
862         Patch from <chinen@jp.ibm.com> to handle RTL support for column
863         resizers, #127874
864
865 Fri Nov 28 00:26:24 2003  Matthias Clasen  <maclas@gmx.de>
866
867         * gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): 
868         Don't use freed memory.  (#127698, Taavi Talvik) 
869
870 Fri Nov 28 00:09:10 2003  Matthias Clasen  <maclas@gmx.de>
871
872         * gtk/gtkfilechooserentry.c: Remove debug g_print()s. 
873
874 Thu Nov 27 22:17:50 2003  Matthias Clasen  <maclas@gmx.de>
875
876         * gtk/gtkuimanager.c: Remove debug define.
877
878 Thu Nov 27 16:19:03 2003  Tim Janik  <timj@gtk.org>
879
880         * gtk/gtkmenu.c: allow accel activation depending on sensitivity
881         and the attach widget.
882
883         * gtk/gtkmenuitem.c: allow accel activation depending on visibility,
884         sensitivity and the parent menu.
885
886         * gtk/gtkwidget.[hc]: introduced ::can-activate-accel signal which
887         checks whether accelerators may activate a widget. the default handler
888         demands the widget be sensitive and visible+viewable.
889
890         * gtk/gtkaccelgroup.[hc]: export gtk_accel_group_activate().
891
892 Tue Nov 25 00:10:05 2003  Matthias Clasen  <maclas@gmx.de>
893
894         * gtk/gtkuimanager.c (update_node): Don't show accelerators in
895         popup menus.  (#127227)
896
897 Mon Nov 24 13:47:39 GMT 2003  Tony Gale <gale@gtk.org>
898
899         * docs/faq/gtk-faq.sgml: start 2.x Section 4 updates
900
901 Mon Nov 24 04:05:15 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
902
903         * gtk/gtkradiotoolbutton.[ch]
904         (gtk_radio_tool_button_new_from_widget): Make this function take a
905         GtkRadioToolButton instead of a GtkWidget. (#127729, Murray
906         Cumming)
907
908 Mon Nov 24 02:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
909
910         * gtk/gtktoolbar.c: remove variables in_dnd and leaving_dnd
911
912 Mon Nov 24 02:19:33 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
913
914         * gtk/gtktoolbar.c: remove variable
915         n_overflowed_menu_items_when_dnd_started
916
917 Mon Nov 24 01:47:10 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
918
919         Rework sliding algorithm.
920         - No more weird jumping when items are dragged off and added to
921         the toolbar,
922         - More natural item movement
923
924         * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Many changes. This
925         function is now responsible for calculating intermediate positions
926         during item sliding. It is also responsible for starting sliding
927         if items disappear.  Also turn off expanding when there is an
928         overflow menu.
929         (gtk_toolbar_begin_sliding, stop_sliding): New functions.
930         (slide_idle_handler): New function. All the sliding is now done by
931         gtk_toolbar_size_allocate(), so the idle handler now just checks
932         if there is more sliding to be done.
933         (compute_intermediate_allocation, position): new functions
934         calculating intermediate steps in the slide animations. The new
935         animation algorithm uses a constant speed instead of a constant
936         must-be-finished-within time.
937         (struct _ToolbarContent): use 
938         GtkAllocation goal_allocation; and 
939         GtkAllocation start_allocation; instead of 
940         gint start/goal_width;
941
942         * gtk/gtktoolitem.c (gtk_tool_item_set_tooltip): fix typo in
943         documentation
944
945 Sun Nov 23 22:26:25 2003  Matthias Clasen  <maclas@gmx.de>
946
947         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): Make tooltip 
948         positioning Xinerama-aware.  (#127332)
949
950 Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
951
952         * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
953         boundaries visible in fake Xinerama mode.
954
955 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
956
957         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
958         for the gtk_widget_hide() call.
959
960 Thu Nov 20 14:51:41 2003  Jonathan Blandford  <jrb@redhat.com>
961
962         * gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): Patch
963         from David Hampton to fix sorting on booleans.
964
965 Thu Nov 20 15:48:03 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
966
967         * gtk/gtksocket.c (gtk_socket_focus): Use gtk_widget_is_focus()
968         instead of GTK_WIDGET_HAS_FOCUS. (#122327, Owen Taylor. Reported
969         by Frederic Crozat).
970
971 Thu Nov 20 13:10:29 GMT 2003  Tony Gale <gale@gtk.org>
972
973         * docs/faq/gtk-faq.sgml: Update Section 3 to 2.x
974
975 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
976
977         Fixes to problems reported by Iain Holmes:
978
979         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Do not
980         throw up an error dialog if the desktop doesn't exist.
981         (error_message): Handle the case where there is no real toplevel
982
983         yet.
984         (list_model_filter_func): Always let folders pass through (patch
985         by Dave Malcolm).
986
987 Wed Nov 19 23:19:23 2003  Kristian Rietveld  <kris@gtk.org>
988
989         * gtk/gtkcombobox.[ch] (gtk_combo_box_scroll_event): move function
990         to a somewhat more logical place,
991         (gtk_combo_box_remove_text): New function (#125262, Owen Taylor).
992
993 Wed Nov 19 22:15:01 2003  Kristian Rietveld  <kris@gtk.org>
994
995         * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
996         the popup when it is visible, popdown when there are less chars
997         than the minimum key length in the entry,
998         (gtk_entry_completion_changed): popdown when the entry is empty.
999
1000         * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
1001         size request of the vscrollbar to (-1, 0), to get a nicely sized
1002         completion treeview (Fixes #126573, reported by Piers Cornwell),
1003         (_gtk_entry_completion_resize_popup): show/hide the action_view
1004         based on items.
1005
1006 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1007
1008         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
1009         off the dialog's separator (thanks to Iain Holmes).
1010
1011 Wed Nov 19 18:15:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1012
1013         * gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225
1014         * gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width
1015         on items that have a submenu. (#120104).
1016
1017 Wed Nov 19 18:11:08 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1018
1019         * gtk/gtktoolbar.c (struct _ToolbarContent): Add a new
1020         "ItemState" field indicating the overflowed-ness etc. of the item.
1021         (gtk_toolbar_size_allocate): update the field here.
1022
1023 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1024
1025         * gtk/gtkfilechooserdefault.c (create_filter): Don't add padding
1026         to the alignment.  Use the HIG-specified spacing between the
1027         filter label and the combo.
1028         (create_filename_entry): Use HIG-specified spacing between the
1029         location label and the entry.
1030         (gtk_file_chooser_default_constructor): Don't use vertical padding
1031         around the filename entry.
1032
1033 2003-11-19  Federico Mena Quintero  <federico@ximian.com>
1034
1035         * gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
1036         render_icon virtual method.
1037
1038         * gtk/gtkfilesystem.c (gtk_file_system_render_icon): New function.
1039
1040         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon):
1041         Implement as a stub for now.
1042
1043         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Use
1044         gtk_file_system_render_icon().
1045         (list_icon_data_func): Likewise.
1046         (toolbar_create): Set the toolbar style to icons only.
1047
1048         * gtk/gtkfilechooser.c (gtk_file_chooser_add_shortcut_folder_uri):
1049         Fix doc comments.
1050
1051 Wed Nov 19 02:18:37 2003  Matthias Clasen  <maclas@gmx.de>
1052
1053         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Call 
1054         gtk_widget_hide(menu) when reattaching the menu.  (#126057) 
1055
1056 Wed Nov 19 00:06:04 2003  Kristian Rietveld  <kris@gtk.org>
1057
1058         * gtk/gtkentrycompletion.c (gtk_entry_completion_selection_changed):
1059         only unselect all items if the treeview has focus. (Fixes bug
1060         reported by Marco Pesenti Gritti).
1061
1062 Tue Nov 18 22:26:30 2003  Kristian Rietveld  <kris@gtk.org>
1063
1064         * gtk/gtkentry.c (gtk_entry_completion_key_press): the total
1065         number of actions is "matches + actions - 1". (Fixes #126572).
1066
1067 Tue Nov 18 21:05:05 2003  Christian Persch  <chp@cvs.gnome.org>
1068
1069         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): fix
1070         mem leaks (#119435).
1071
1072 Tue Nov 18 20:51:38 2003  Kristian Rietveld  <kris@gtk.org>
1073
1074         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): don't
1075         try to fetch the child back, since we do know that it is already
1076         gone by now (#126493, Marco Pesenti Gritti).
1077
1078 Tue Nov 18 19:47:59 2003  Kristian Rietveld  <kris@gtk.org>
1079
1080         Fixes based on comments from Owen Taylor, #125264.
1081
1082         * gtk/gtkcellview.[ch] (gtk_cell_view_finalize): remove unused
1083         variable,
1084         (gtk_cell_view_set_value), (gtk_cell_view_set_displayed_model): queue
1085         a resize,
1086         (gtk_cell_view_get_size_of_row): new function,
1087         (gtk_cell_view_set_value), (gtk_cell_view_set_valuesv),
1088         (gtk_cell_view_set_values), (gtk_cell_view_set_model),
1089         (gtk_cell_view_set_displayed_row), (gtk_cell_view_get_displayed_row):
1090         s/cellview/cell_view/ in the function definitions, so they match
1091         with the header file.
1092
1093         * gtk/gtkcombobox.c (gtk_combo_box_remeasure): remove the resize
1094         flag again (:, and use gtk_cell_view_get_size_of_row instead of
1095         the measurer, remove _set_size_request call,
1096         (gtk_combo_box_calc_requested_width): use gtk_cell_view_get_size_of_row
1097         instead of the measurer,
1098         (gtk_combo_box_style_set): queue a resize,
1099         (gtk_combo_box_size_request): update of _remeasure call,
1100         (gtk_combo_box_init), (gtk_combo_box_cell_layout_pack_start),
1101         (gtk_combo_box_cell_layout_pack_end),
1102         (gtk_combo_box_cell_layout_clear),
1103         (gtk_combo_box_set_model): get rid of the measurer,
1104         (gtk_combo_box_cell_layout_add_attribute),
1105         (gtk_combo_box_cell_layout_set_cell_data_func),
1106         (gtk_combo_box_cell_layout_clear_attributes): ditto and queue a
1107         resize instead of calling _remeasure.
1108
1109 Mon Nov 17 16:25:04 2003  Manish Singh <yosh@gimp.org>
1110
1111         * gdk-pixbuf/Makefile.am
1112         * modules/input/Makefile.am: Use install-data-hook for
1113         gdk-pixbuf.loaders and gtk.immodules install generation targets.
1114         Fixes #112806.
1115
1116         * gtk/gtkexpander.h: Apply missing declarations from #124449.
1117
1118 Tue Nov 18 00:12:55 2003  Matthias Clasen  <maclas@gmx.de>
1119
1120         Fix for #119555, Peter Zelezny:
1121         
1122         * gdk/gdkdrawable.h: Declare gdk_drawable_copy_to_image.
1123         * gdk/gdkdraw.c (gdk_drawable_copy_to_image): Make public
1124         by removing the _ prefix. 
1125         * gdk/gdkdraw.c, gdk/gdkpixbuf-drawable.c, gdk/gdkpixmap.c, 
1126         gdk/gdkwindow.c: Adjust all callers.
1127
1128 Mon Nov 17 23:36:02 2003  Matthias Clasen  <maclas@gmx.de>
1129
1130         * gtk/gtkaction.c (gtk_action_activate): Only activate if 
1131         the action is sensitive.  (#127187, Christian Persch)
1132
1133 Mon Nov 17 23:23:49 2003  Matthias Clasen  <maclas@gmx.de>
1134
1135         * gtk/gtkcombobox.c: Add mouse wheel support.  (#126517)
1136
1137 Mon Nov 17 22:56:09 2003  Kristian Rietveld  <kris@gtk.org>
1138
1139         * gtk/gtkentryprivate.h: add _gtk_entry_completion_resize_popup.
1140
1141         * gtk/gtkentry.c (gtk_entry_completion_timeout): popup when not
1142         mapped, else resize_popup.
1143
1144         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup),
1145         (_gtk_entry_completion_popup): moved all popup resizing code to
1146         _gtk_entry_completion_resize_popup, and show the window when there
1147         are more than zero items in the completion list again (sigh).
1148
1149 2003-11-17  Mark McLoughlin  <mark@skynet.ie>
1150
1151         Patch from Jaiserca <jaiserca@inf.upv.es> to add a
1152         "use_markup" property. See bug #124449.
1153
1154         * gtk/gtkexpander.c:
1155         (gtk_expander_class_init),
1156         (gtk_expander_init), (gtk_expander_set_property),
1157         (gtk_expander_get_property), (gtk_expander_set_label),
1158         (gtk_expander_set_use_markup),  (gtk_expander_get_use_markup):
1159         Add a "use_markup" property and use it when creating the
1160         child label.
1161
1162 Mon Nov 17 12:58:32 2003  Kristian Rietveld  <kris@gtk.org>
1163
1164         Temporary size requisition fix. Will fix it for real tonight.
1165
1166         * gtk/gtkcombobox.c (gtk_combo_box_remeasure): add a resize flag,
1167         (gtk_combo_box_size_request): use gtk_combo_box_remeasure to determine
1168         a good width for the child,
1169         (gtk_combo_box_cell_layout_add_attribute),
1170         (gtk_combo_box_set_cell_data_func),
1171         (gtk_combo_box_cell_layout_clear_attributes): update.
1172
1173 Mon Nov 17 00:11:21 2003  Kristian Rietveld  <kris@gtk.org>
1174
1175         Fixes #124373, Murray Cumming.
1176
1177         * gtk/gtkcombobox.[ch] (gtk_combo_box_class_init): the model property
1178         is no longer construct only,
1179         (gtk_combo_box_unset_model), (gtk_combo_box_set_model_internal),
1180         (gtk_combo_box_menu_fill): new functions,
1181         (gtk_combo_box_menu_setup), (gtk_combo_box_menu_destroy),
1182         (gtk_combo_box_menu_row_*), (gtk_combo_box_list_setup),
1183         (gtk_combo_box_list_destroy): updated,
1184         (gtk_combo_box_new), (gtk_combo_box_new_with_model): new/changed
1185         functions,
1186         (gtk_combo_box_set_model): is now public, updated,
1187         (gtk_combo_box_get_model): small update.
1188
1189         * gtk/gtkcomboboxentry.[ch] (gtk_combo_box_entry_class_init): the
1190         text_column property is no longer construct only,
1191         (gtk_combo_box_entry_set_text_column): now public,
1192         (gtk_combo_box_entry_new), (gtk_combo_box_entry_new_with_model):
1193         new/changed functions.
1194
1195         * tests/testcombo.c: updated.
1196
1197 Sun Nov 16 22:50:58 2003  Matthias Clasen  <maclas@gmx.de>
1198
1199         Reinstate fixes for (#124212, Marco Pesenti Gritti):
1200         
1201         * gtk/gtkuimanager.c (update_smart_separators): Don't spit 
1202         warnings for popups.
1203         (_gtk_menu_is_empty): Return FALSE for non-menus.
1204
1205 Sun Nov 16 21:48:40 2003  Kristian Rietveld  <kris@gtk.org>
1206
1207         * gtk/gtkcellview.c (gtk_cell_view_finalize): just call
1208         gtk_cell_view_cell_layout_clear instead of trying to free the
1209         structure ourselves here. (#125726, Morten Welinder).
1210
1211 Sun Nov 16 00:35:29 2003  Matthias Clasen  <maclas@gmx.de>
1212
1213         * gtk/gtkfilechooser.[hc]: 
1214         * gtk/gtkentrycompletion.h: Fix parameter name mismatches which
1215         confuse gtk-doc.
1216
1217 2003-11-15  Hans Breuer  <hans@breuer.org>
1218
1219         * gdk/makefile.msc gdk/gdk.def 
1220             gtk/gtk.def gtk/makefile.msc.in : updated
1221         * tests/makefile.msc : added all the new tests
1222
1223         * gtk/gtkfilefilter.c(finalize) : initialize filter
1224         from object not from itself
1225
1226         * gtk/gtkfilesystemwin32.[hc] : copied from gtkfilesystemunix.[hc]
1227         modified as less as posible to have aworking implementation
1228         on win32. There maybe the desire to merge the unchanged pats into
1229         a common base class.
1230         Also implemented a simple glib based bookmark handling, which
1231         is currently missing in gtkfilesystemunix.[hc] but can be copied
1232         over there.
1233         * gtk/gtkfilechooserwidget.c : conditional include gtkfilesystemwin32.h
1234
1235         * gdk/win32/gdkwindow-win32.c : implement 
1236         gdk_window_set_keep_above() and gdk_window_set_keep_below()
1237
1238         * tests/testmerge.c : don't include unistd.h unconditionally,
1239         #define STDOUT_FILENO if it isn't defined
1240
1241         * tests/testfilechooser.c : make it compile on win32
1242
1243 2003-11-15  Tor Lillqvist  <tml@iki.fi>
1244
1245         * gdk/win32/gdkwindow-win32.c (gdk_window_focus): If the window is
1246         maximized, use SW_SHOWMAXIMIZED. (#126986, John Ehresman)
1247
1248 Thu Nov 13 12:55:29 GMT 2003  Tony Gale <gale@gtk.org>
1249
1250         * docs/faq/gtk-faq.sgml: Update the rest of Section 2
1251
1252 Thu Nov 13 01:46:32 2003  Matthias Clasen  <maclas@gmx.de>
1253
1254         * gtk/gtkicontheme.c (gtk_icon_theme_init): Use 
1255         GTK_DATADIR/{icons,pixmaps} instead of 
1256         GTK_DATA_PREFIX/{icons,pixmaps}.  (#123365, Marco Pesenti Gritti)
1257
1258 Wed Nov 12 21:40:10 2003  Matthias Clasen  <maclas@gmx.de>
1259
1260         Changes to improve menu positioning on Xinerama (#108328, #126150):
1261         
1262         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Use the event 
1263         window of the menuitem to determine the monitor. This fixes some
1264
1265         * gtk/gtkmenu.c (struct _GtkMenuPrivate): Add a menu_num field
1266         to store the monitor on which the menu is to be positioned.
1267
1268         * gtk/gtkmenu.[hc] (gtk_menu_position): Store the monitor number
1269         in the GtkMenuPrivate struct and fetch the monitor geometry after
1270         calling the position_func, in case it has been changed.
1271
1272         * gtk/gtkmenu.c (gtk_menu_set_monitor): New function 
1273         to be used in GtkMenuPositionFunc implementations for setting
1274         the monitor_num field in GtkMenuPrivate.
1275
1276         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Call 
1277         gtk_menu_set_monitor.
1278
1279 Wed Nov 12 21:00:10 2003  Matthias Clasen  <maclas@gmx.de>
1280
1281         * gtk/gtkinputdialog.c (gtk_input_dialog_init): Clarify the
1282         label for the empty list. String change.  (#95446, Tomas Ã–gren)
1283
1284 Wed Nov 12 20:57:50 2003  Matthias Clasen  <maclas@gmx.de>
1285
1286         * gtk/gtkicontheme.h (enum GtkIconLookupFlags): Correct
1287         the definition of the values.  (#123361, Marco Pesenti Gritti)
1288
1289 Wed Nov 12 20:54:02 2003  Matthias Clasen  <maclas@gmx.de>
1290
1291         * gdk/gdkkeyuni.c: Map KP_Separator to ','.
1292         (#122941, Egmont Koblinger)
1293
1294 2003-11-12  Padraig O'Briain  <padraig.obriain@sun.com>
1295
1296         *gtk/gtkcolorsel.c (gtk_color_selection_init): Add tooltip for
1297         opacity entry widget. Change tooltip for opacity widgets. (#126426)
1298
1299 2003-11-12  Padraig O'Briain  <padraig.obriain@sun.com>
1300
1301         * gtk/gtkmenu.c (gtk_menu_popup): Do not let pointer position
1302         affect window menu position when popped from keyboard. (#102660)
1303
1304 Wed Nov 12 01:29:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1305
1306         * gtk/gtktoolbar.c (gtk_toolbar_internal_insert_element): When we
1307         are using the old API, make all items "is_important". That way
1308         BOTH_HORIZ will continue to show both icon and label in old API
1309         mode.
1310
1311 Mon Nov 10 00:40:41 2003  Matthias Clasen  <maclas@gmx.de>
1312
1313         * gtk/gtkeventbox.c (gtk_event_box_set_above_child): 
1314         Remember the new value in all cases.  (#126276, Damon Chaplin)
1315
1316 Sat Nov  8 23:06:02 2003  Matthias Clasen  <maclas@gmx.de>
1317
1318         * demos/gtk-demo/main.c (row_activated_cb): Call the do_
1319         functions with the toplevel as argument.
1320
1321         * demos/gtk-demo/geninclude.pl.in: Change the signature
1322         of GDoDemoFunc to take a widget argument
1323
1324         * demos/gtk-demo/ui_manager.c (do_ui_manager): 
1325         * demos/gtk-demo/tree_store.c (do_tree_store): 
1326         * demos/gtk-demo/textview.c (do_textview): 
1327         * demos/gtk-demo/stock_browser.c (do_stock_browser): 
1328         * demos/gtk-demo/sizegroup.c (do_sizegroup): 
1329         * demos/gtk-demo/pixbufs.c (do_pixbufs): 
1330         * demos/gtk-demo/panes.c (do_panes): 
1331         * demos/gtk-demo/menus.c (do_menus): 
1332         * demos/gtk-demo/list_store.c (do_list_store): 
1333         * demos/gtk-demo/images.c (do_images): 
1334         * demos/gtk-demo/hypertext.c (do_hypertext): 
1335         * demos/gtk-demo/editable_cells.c (do_editable_cells): 
1336         * demos/gtk-demo/drawingarea.c (do_drawingarea): 
1337         * demos/gtk-demo/dialog.c (do_dialog): 
1338         * demos/gtk-demo/colorsel.c (do_colorsel): 
1339         * demos/gtk-demo/changedisplay.c (do_changedisplay): 
1340         * demos/gtk-demo/button_box.c (do_button_box): 
1341         * demos/gtk-demo/appwindow.c (do_appwindow): Take a widget
1342         as argument, and make new windows or dialogs appear on the
1343         same screen.  (#80388)
1344
1345 Sat Nov  8 21:59:30 2003  Matthias Clasen  <maclas@gmx.de>
1346
1347         * gtk/gtkeventbox.c (gtk_event_box_class_init): Let 
1348         visible-window default to TRUE, as documented and 
1349         implemented. (#126270 Damon Chaplin)
1350
1351 Sat Nov  8 01:50:17 2003  Matthias Clasen  <maclas@gmx.de>
1352
1353         * gtk/gtkicontheme.c: 
1354         * gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): 
1355         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): 
1356         * gtk/gtkfilechooser.c (gtk_file_chooser_[un]select_all): Mark as
1357         2.4 additions.
1358
1359 2003-11-07  Federico Mena Quintero  <federico@ximian.com>
1360
1361         Changing GtkFileChooserEntry to use GtkEntryCompletion.
1362
1363         * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): Create
1364         a GtkListStore for the completion list.  Create a
1365         GtkEntryCompletion and attach it to the chooser entry.
1366         (gtk_file_chooser_entry_finalize): Unref the completion store.
1367         (completion_match_func): New callback for the GtkEntryCompletion.
1368         (completion_idle_callback): Fill the completion store with filenames.
1369
1370 Fri Nov  7 22:55:49 2003  Matthias Clasen  <maclas@gmx.de>
1371
1372         * gtk/gtkwindow.c (gtk_window_set_role): 
1373         * gtk/gtkwindow.c (gtk_window_set_title): 
1374         * gtk/gtkwidget.c (gtk_widget_set_name): 
1375         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_title): 
1376         * gtk/gtkbutton.c (gtk_button_set_label): Make string setters
1377         safe for self-assignment.  (#122745, Soeren Sandmann)
1378
1379 Thu Nov  6 20:41:40 2003  Matthias Clasen  <maclas@gmx.de>
1380
1381         * gtk/gtkstyle.c (gtk_style_attach): Fix doc comment.
1382         (#126369, Olexiy Avramchenko)
1383
1384 Thu Nov  6 00:21:41 2003  Matthias Clasen  <maclas@gmx.de>
1385
1386         * gtk/gtkcolorbutton.c (gtk_color_button_init): 
1387         * gtk/gtkfontbutton.c (gtk_font_button_init): Improve the 
1388         consistency of titles.  (#126193, Damon Chaplin)
1389
1390 Wed Nov  5 22:49:36 2003  Matthias Clasen  <maclas@gmx.de>
1391
1392         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Set torn off 
1393         menus to be transient for the toplevel they were torn off from.
1394         (gtk_menu_get_toplevel): Auxiliary function to find the
1395         toplevel of a menu.  (#54775, Jon-Kare Hellan)
1396
1397 Wed Nov  5 21:07:58 2003  Matthias Clasen  <maclas@gmx.de>
1398
1399         * gtk/gtkpaned.c (gtk_paned_class_init): Add readonly properties
1400         min-position and max-position.  (#58431, Padraig O'Briain)
1401
1402 Wed Nov  5 21:02:26 2003  Matthias Clasen  <maclas@gmx.de>
1403
1404         * gtk/gtkcolorsel.c (update_color): 
1405         (make_label_spinbutton): 
1406         (adjustment_changed): Change the ranges for Saturation and
1407         Value to be 0-100 instead of 0-255, since these axes of HSV
1408         are usually expressed in percent.  (#121519, Gregory Merchan)
1409
1410 Wed Nov  5 08:51:48 GMT 2003  Tony Gale <gale@gtk.org>
1411
1412         * docs/faq/gtk-faq.sgml: More 2.x updates
1413
1414 Tue Nov  4 15:00:33 GMT 2003  Tony Gale <gale@gtk.org>
1415
1416         * docs/faq/gtk-faq.sgml: More 2.x updates, fix
1417         pkg-config command error, update copyright.
1418
1419 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
1420
1421         * gtk/gtkfilechooserdefault.c (error_dialog): Take in a path as
1422         well.  Use a helper function.
1423         (shortcuts_append_home): Display an error box if necessary.
1424         (shortcuts_append_desktop): Likewise.
1425         (add_bookmark_button_clicked_cb): Likewise.
1426         (gtk_file_chooser_default_select_path): Likewise.
1427         (entry_activate): Likewise.
1428         (shortcuts_append_paths): New helper function.
1429         (shortcuts_append_file_system_roots): Use
1430         shortcuts_append_paths().
1431         (shortcuts_append_bookmarks): Likewise.
1432
1433 Mon Nov  3 23:12:41 2003  Matthias Clasen  <maclas@gmx.de>
1434
1435         * gtk/gtkuimanager.c (_gtk_menu_is_empty): Return TRUE if 
1436         menu is NULL.
1437         (update_smart_separators): Remove some unneeded ifs.
1438
1439 Mon Nov  3 22:45:58 2003  Matthias Clasen  <maclas@gmx.de>
1440
1441         * gtk/gtkwindow-decorate.h: Add G_BEGIN_DECLS/G_END_DECLS to make 
1442         these usable in C++. Forgot this file in my Oct 11 commit.
1443
1444 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
1445
1446         * gtk/gtkfilechooserdefault.c (create_shortcuts_tree): Add a stock
1447         icon to the "Add bookmark" button.
1448
1449         * gtk/gtkfilesystemunix.c: Mark missing strings for translation.
1450         * gtk/gtkfilesystemmodel.c: Likewise.
1451         * gtk/gtkfilechooser.c: Likewise.
1452         * gtk/gtkfilechooserdefault.c: Likewise.
1453
1454 Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
1455
1456         * gdk/gdk.c: 
1457         * gdk/gdkinternals.h: 
1458         * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
1459         GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
1460         Xinerama mode when no actual Xinerama setup is found. 
1461
1462 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
1463
1464         * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
1465         (create_shortcuts_tree): Don't call the above.
1466         (bookmarks_changed_cb): Likewise.
1467         (tree_selection_changed): Unselect everything from the shortcuts
1468         list.  This is the behavior that Mac OS has.
1469         (toolbar_add_item): Return the item.
1470         (toolbar_create): Store the up_button in the impl structure.
1471         (toolbar_check_sensitivity): New function to set the sensitivity
1472         of the "Up" button in the toolbar.
1473         (tree_selection_changed): Call toolbar_check_sensitivity().
1474
1475 2003-11-02  Federico Mena Quintero  <federico@ximian.com>
1476
1477         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Do
1478         not set a border width for the toplevel container.
1479         (toolbar_create): New function; create a simple toolbar for the
1480         file chooser.
1481         (gtk_file_chooser_default_constructor): Use a spacing of 12 for
1482         the table, as per the HIG.
1483         (gtk_file_chooser_default_init): Likewise, for the default
1484         implementation's vbox.
1485
1486         * gtk/gtkfilesystem.c (gtk_file_system_get_parent): Added docs to
1487         note that NULL is a valid return value for the parent path.
1488
1489 Sat Nov  1 14:59:27 2003  Owen Taylor  <otaylor@redhat.com>
1490
1491         * gtk/gtkfilechooserdefault.c (shortcuts_row_activated): 
1492         Change on activation, not selection change (temporary
1493         workaround for #125955, needed for keynav, likely
1494         the right UI anyways.)
1495
1496         * gtk/gtkfilechooserdefault.c (shortcuts_select_func): 
1497         Don't allow the separator node to be selected.
1498
1499         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_constructor):
1500         Set the focus chain so that the entry gets focused first.
1501         (Not really right after initial focusing, maybe we
1502         should just have a gtk_file_chooser_focus_entry() that
1503         we call from gtk_file_chooser_dialog on creation.)
1504
1505 Sat Nov  1 12:41:04 2003  Owen Taylor  <otaylor@redhat.com>
1506
1507         * gtk/gtkwindow.c (gtk_window_unfullscreen): Fix a
1508         residual call to gtk_window_get_private().
1509
1510 Sat Nov  1 09:10:13 2003  Owen Taylor  <otaylor@redhat.com>
1511
1512         * gtk/gtkwindow.[ch]: Move above_initially, below_initially
1513         into GtkWindowPrivate structure, fixing ABI breakage
1514         on Win32. (Hans Breuer). Switch GtkWindowPrivate over
1515         to instance-private-data.
1516
1517 Fri Oct 31 02:43:34 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1518
1519         * gtk/gtktoolbar.c (get_item_requisition): delete this function
1520         (toolbar_item_is_homogeneous): cache max_homogeneous_pixels
1521         instead of re-calculating for each item.
1522         (gtk_toolbar_size_allocate): Update comments
1523
1524 Thu Oct 30 22:04:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1525
1526         * gtk/gtktoolbar.c (gtk_toolbar_forall): Only include
1527         placeholders when include_internals is TRUE.
1528
1529 Thu Oct 30 17:57:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1530
1531         * gtk/gtktoolbar.c (logical_to_physical): Make it work even when
1532         item 0 is a placeholder. (#125826)
1533         * tests/testtoolbar.c: add an assertion that 
1534         gtk_toolbar_get_nth_item (0) != NULL
1535
1536 Thu Oct 30 17:40:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1537
1538         * gtk/gtktoolbar.c (logical_to_physical): Make it work for
1539         logical == 0.(#125826)
1540
1541 Thu Oct 30 16:20:58 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1542
1543         * gtk/gtktoolbar.c (logical_to_physical): Make sure we actually
1544         return the index of a real item.
1545         (get_nth_item) assert that the returned items is not a
1546         placeholder.  (#125826, Marco Pesenti Gritti).
1547         
1548 2003-10-29  Federico Mena Quintero  <federico@ximian.com>
1549
1550         * gtk/gtkcellrendererseptext.c
1551         (gtk_cell_renderer_sep_text_render): Only paint a separator if the
1552         text is NULL, rather than also doing it if it is an empty string.
1553
1554 Wed Oct 29 15:40:26 2003  Owen Taylor  <otaylor@redhat.com>
1555
1556         * gtk/gtkmessagedialog.c (gtk_message_dialog_new/
1557         gtk_message_dialog_new_with_format): Allow NULL
1558         for message_format, as described in the docs and
1559         as worked previously. (#125759, Richard Hult)
1560
1561         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup):
1562         Use g_markup_vprintf_escaped() to escape arguments.
1563
1564         * gtk/gtkmessagedialog.[ch]: Add gtk_message_dialog_set_markup()
1565         so there is some way to set literal markup.
1566
1567 Wed Oct 29 15:01:32 2003  Owen Taylor  <otaylor@redhat.com>
1568  
1569         * gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): Move
1570         the call to gdk_error_trap_pop() to the right place,
1571         fixing a problem where we'd pop() too many times 
1572         when bailing out. (#123302, Thomas Leonard)
1573         
1574 Wed Oct 29 12:50:02 2003  Owen Taylor  <otaylor@redhat.com>
1575
1576         * gtk/gtkfilechooserutils.c (delegate_set_current_folder): 
1577         Fix infinite recursion. (#125679, Christian Persch)
1578
1579 Wed Oct 29 13:29:15 GMT 2003  Tony Gale <gale@gtk.org>
1580
1581         * docs/faq/gtk-faq.sgml: further 2.x updates:
1582         mirrors,compiling,g_main_context_iteration
1583
1584 Wed Oct 29 02:54:35 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1585
1586         * gtk/gtktoolbar.[ch] (gtk_toolbar_set_drop_highlight_item): Add this
1587         function; remove gtk_toolbar_highlight_drop_location() and
1588         gtk_toolbar_unhighlight_drop_location().
1589
1590         Also fix bug where the number of overflowed items were miscounted.
1591
1592 Tue Oct 28 12:20:16 2003  Owen Taylor  <otaylor@redhat.com>
1593
1594         * gtk/gtkwindow.c (gtk_window_has_toplevel_focus): Remove
1595         some accidentally committed duplicate code.
1596
1597 Tue Oct 28 17:06:17 GMT 2003  Tony Gale <gale@gtk.org>
1598
1599         * docs/faq/gtk-faq.sgml: Update info on compiling GTK+
1600
1601 Tue Oct 28 10:34:24 2003  Owen Taylor  <otaylor@redhat.com>
1602
1603         * gtk/gtkwindow.[ch] (gtk_window_is_active, 
1604         gtk_has_toplevel_focus): Add getters corresponding to
1605         the is_active and has_toplevel_focus properties.
1606         (#122531)
1607
1608 2003-10-28  Mark McLoughlin  <mark@skynet.ie>
1609
1610         * gtk/gtkexpander.c:
1611         (gtk_expander_class_init): hook up the destroy handler.
1612         (gtk_expander_destroy), (gtk_expander_unrealize):
1613         remove the expand/collapse timeout on destroy instead
1614         of unrealize to avoid leaving the expander in a inconsistent
1615         state when unrealizing during animation.
1616         (gtk_expander_start_animation): remove realized check.
1617         (gtk_expander_set_expanded): if the widget isn't realized,
1618         expand immediately.
1619
1620 Tue Oct 28 09:44:16 2003  Owen Taylor  <otaylor@redhat.com>
1621
1622         * gtk/gtkxembed.c (_gtk_xembed_send_focus_message): Silently
1623         do nothing when recipient is NULL, as described in the
1624         doc comment. (#123107, Thomas Leonard)
1625
1626 Tue Oct 28 09:21:29 2003  Owen Taylor  <otaylor@redhat.com>
1627
1628         * gtk/gtkmain.c (gtk_check_version): Move docs inline,
1629         rewrite docs, mention memory management for the return
1630         value. (Partly addresses #125549, Michael Natterer)
1631
1632 2003-10-28  Padraig O'Briain  <padraig.obriain@sun.com>
1633
1634         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_remove_filter):
1635         Change index to filter_index to fix compilation error.
1636
1637         * gtk/gtkfilesystem.h: Correct definition of gtk_file_path_get_string.
1638
1639 Mon Oct 27 15:47:58 2003  Manish Singh  <yosh@gimp.org>
1640
1641         * gdk/x11/gdkscreen-x11.c: #include <X11/extensions/Xrandr.h> if
1642         we have RandR support, for XRRUpdateConfiguration declaration.
1643
1644         * gtk/gtkfilefilter.c: #include "gtkprivate.h" for _gtk_fnmatch
1645         declaration.
1646
1647         * gtk/gtkuimanager.c (gtk_ui_manager_add_ui_from_file): Make
1648         length a gsize variable, since that's what g_file_get_contents()
1649         expects.
1650
1651 Mon Oct 27 12:18:49 2003  Owen Taylor  <otaylor@redhat.com>
1652
1653         * NEWS: Fix attribution for above/below EWMH work.
1654
1655 Sat Oct 25 23:30:13 2003  Matthias Clasen  <maclas@gmx.de>
1656
1657         * gtk/gtkactiongroup.c (gtk_action_group_class_init): Add "name" 
1658         as a construct-only property.  (#125475, Murray Cumming)
1659
1660 Thu Oct 23 21:55:10 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1661
1662         Fix bug 116297 and 125472
1663         
1664         * gtk/gtktoolbar.c (gtk_toolbar_highlight_drop_location): Make
1665         this function take an index and a GtkToolItem.
1666
1667         * tests/testtoolbar.c (main): Make "Show Arrow" default to
1668         true. Make one of the separators !draw and expand.
1669         Update for new highlight_drop_location() API.
1670
1671         * gtk/gtktoolitem.[ch]: Remove "pack_end" property
1672
1673         * gtk/gtktoolbar.h: Formatting fixes.
1674
1675         * gtk/gtktoolbar.c: Remove "pack_end" child property. Allow
1676         separator tool items to expand.
1677         (logical_to_physical, physical_to_logical): Fix off-by-one errors
1678         (Fix #125472, Marco Pesenti Gritti)
1679
1680         * gtk/gtkseparatortoolitem.[ch]: Add new "draw" property.
1681         (gtk_separator_tool_item_expose) only draw if "draw" is TRUE. Also
1682         return FALSE, not TRUE.
1683         (gtk_separator_too_item_{set|get}_property,
1684         (gtk_separator_tool_item_{set|get}_draw): new functions
1685
1686 Fri Oct 24 16:54:04 2003  Owen Taylor  <otaylor@redhat.com>
1687
1688         * === Released 2.3.0 ===
1689
1690         * configure.in: Remove a stray comma.
1691
1692         * README.in: Fix a few notes about Xft 1 and pango-1.0.
1693
1694         * NEWS: Finish updates for 2.3.0.
1695
1696         * po/Makefile.in.in: Update to latest GLib version.
1697
1698 Fri Oct 24 20:31:35 2003  Kristian Rietveld  <kris@gtk.org>
1699
1700         * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
1701         gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch],
1702         gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it
1703         under GPL licensing instead of LGPL...). (Fixes #125381, Soeren
1704         Sandmann).
1705
1706 Fri Oct 24 20:22:40 2003  Kristian Rietveld  <kris@gtk.org>
1707
1708         * gtk/gtktreemodelfilter.h: add padding to the class structure.
1709
1710 2003-10-23  Federico Mena Quintero  <federico@ximian.com>
1711
1712         * gtk/gtkfilechooser.c (gtk_file_chooser_get_preview_uri): Fixed docs.
1713         (gtk_file_chooser_remove_filter): Likewise.
1714         (gtk_file_chooser_select_all): Added docs.
1715         (gtk_file_chooser_unselect_all): Likewise.
1716
1717         * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new): Added docs.
1718
1719         * gtk/gtkfilechooserwidget.c (gtk_file_chooser_widget_new): Added docs.
1720
1721 Thu Oct 23 23:22:15 2003  Matthias Clasen  <maclas@gmx.de>
1722
1723         * gtk/gtkfilefilter.c: 
1724         * gtk/gtkfilechooser.c: Add "Since: 2.4" to all API doc comments.
1725
1726 Thu Oct 23 22:33:47 2003  Matthias Clasen  <maclas@gmx.de>
1727
1728         * gtk/gtkfilefilter.c (gtk_file_filter_new): Fix doc markup.
1729
1730 Thu Oct 23 21:49:05 2003  Matthias Clasen  <maclas@gmx.de>
1731
1732         * NEWS: Remove a few duplicates, group the menu changes.
1733
1734 Thu Oct 23 21:12:50 2003  Kristian Rietveld  <kris@gtk.org>
1735
1736         * NEWS: Updates for 2.3.0; changed header to match the style we used
1737         for 2.1.0.
1738
1739 Thu Oct 23 20:47:44 2003  Matthias Clasen  <maclas@gmx.de>
1740
1741         * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Actually
1742         assign the new leader.  (#125168, Mariano Suarez-Alvarez)
1743
1744 Thu Oct 23 20:21:16 2003  Kristian Rietveld  <kris@gtk.org>
1745
1746         * gtk/gtkcelllayout.c, gtk/gtkcellview.c gtk/gtkcellviewmenuitem.c,
1747         gtk/gtkcombobox.c, gtk/gtkcomboboxentry.c, gtk/gtkentrycompletion.c,
1748         gtk/gtktreemodelfilter.c, gtk/gtkcellrenderertoggle.c: Fix includes.
1749
1750 Thu Oct 23 15:13:56 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1751
1752         * NEWS: Partial update for 2.3.0.
1753
1754 Thu Oct 23 01:09:04 2003  Owen Taylor  <otaylor@redhat.com>
1755
1756         * gtk/gtkfilechooserdefault.c: Convert GtkOptionMenu to
1757         GtkComboBox.
1758
1759 Wed Oct 22 23:20:04 2003  Owen Taylor  <otaylor@redhat.com>
1760
1761         * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch] 
1762         gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]:
1763         gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]:
1764         Basic framework for the new file selector widget.
1765
1766         * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch] 
1767         gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]:
1768         Initial implementation of the GtkFileChooser user interface.
1769
1770         * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation
1771         for Unix files.
1772
1773         * configure.in gtk/Makefile.am gtk/xdgmime: Build code
1774         for freedesktop.org MIME system on Unix.
1775
1776         * tests/testfilechooser.c: Test program for GtkFileChooser
1777
1778         * tests/prop-editor.c: Add support for properties on interfaces.
1779
1780 Tue Oct 21 16:12:51 2003  Owen Taylor  <otaylor@redhat.com>
1781
1782         * demos/gtk-demo/menus.c (do_menus): Fix some unused
1783         variables.
1784
1785         * gtk/gtkmain.c (_gtk_get_lc_ctype): Fix an unused
1786         variable warning.
1787
1788 Thu Oct 23 00:04:50 2003  Matthias Clasen  <maclas@gmx.de>
1789
1790         * NEWS: Partial update for 2.3.0.
1791
1792 Tue Oct 21 22:07:12 2003  Kristian Rietveld  <kris@gtk.org>
1793
1794         * gtk/gtktreeview.c (gtk_tree_view_real_move_cursor): set
1795         ctrl_pressed and shift_pressed according to the current event
1796         state (if there is one). (Fixes #125063, reported by Sebastien Bacher).
1797
1798 Mon Oct 20 23:24:27 2003  Kristian Rietveld  <kris@gtk.org>
1799
1800         * gtk/gtkentry.c (gtk_entry_key_press): remove the completion
1801         timeout when the user pressed on Enter/ESC. Fixes the bug where the
1802         completion popup popped up after the user pressed on Enter (which is
1803         just weird). Reported by the Epiphany people (all of them).
1804
1805 Mon Oct 20 20:27:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1806
1807         Add support for OS X like sliding of toolbar items during drag and
1808         drop, (#110919, Dave Bordoley)
1809
1810         Make dnd highlighting the responsibility of the
1811         application. (Fixes #116298, Owen Taylor)
1812
1813         * gtk/gtktoolbar.h: Add prototypes for new API.
1814         
1815         * gtk/gtktoolbar.c
1816         (physical_to_logical, logical_to_physical): new functions
1817         converting between "position including placeholders" and "position
1818         excluding placeholders".
1819         (gtk_toolbar_class_init): remove drag_leave and drag_motion
1820         handlers
1821         (struct _ToolbarContent): new struct containing information
1822         related to toolbar items.
1823         (gtk_toolbar_highlight_drop_location): new public function
1824         (gtk_toolbar_unhighlight_drop_location): new public function
1825         
1826         * tests/testtoolbar.c
1827         (toolbar_drag_motion, toolbar_drag_leave): new functions
1828         (main): connect to dnd signals.  Make the "New" item expand to
1829         make drag and drop more exciting.
1830
1831 Wed Oct 15 22:39:23 2003  Kristian Rietveld  <kris@gtk.org>
1832
1833         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): it's
1834         _set_active, not _set_active_item.
1835
1836 Wed Oct 15 22:31:09 2003  Kristian Rietveld  <kris@gtk.org>
1837
1838         * gtk/gtkcombobox.h: add padding to the class structure.
1839         * gtk/gtkcomboboxentry.h: ditto.
1840         * gtk/gtkentrycompletion.h: ditto.
1841
1842 Wed Oct 15 22:04:59 2003  Kristian Rietveld  <kris@gtk.org>
1843
1844         * gtk/gtkcombobox.c (gtk_combo_box_get_active),
1845         (gtk_combo_box_set_active): mention in the docs that -1 is a valid
1846         value and what it means.
1847
1848         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): set the active
1849         item to -1 (default),
1850         (gtk_combo_box_entry_active_changed): do nothing when the index is
1851         < 0.
1852
1853 Tue Oct 14 16:10:21 2003  Jonathan Blandford  <jrb@redhat.com>
1854
1855         * gtk/gtkcombobox.c (gtk_combo_box_set_active_iter): New function
1856         to set the active row by iter.
1857
1858         * gtk/gtkcombobox.c (gtk_combo_box_get_active_iter): New function
1859         to get the active row by iter.
1860
1861 2003-10-13  Federico Mena Quintero  <federico@ximian.com>
1862
1863         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
1864         operations on windows if the tree view is not mapped.
1865         (gtk_tree_view_button_press): Compare equal types of pointers, not
1866         GtkWidget* vs. GtkTreeView*.
1867
1868 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
1869
1870         * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
1871         the reset of first_sel_changed, as after the first popup the treeview
1872         will always have a row selected and will thus not focus_to_cursor.
1873
1874         * gtk/gtkentry.c (keyval_is_cursor_move): new function to determine
1875         whether the keyval should move the completion selection cursor (used
1876         to avoid ending up with extreme cluttered code), also added
1877         all KP_ equivalents of the keys here,
1878         (gtk_entry_completion_key_press): Keynav tweaks based on comments
1879         from Dave Bordoley and Marco Pesenti Gritti; add the -1 state
1880         as possible current selection, implement Home/End keys, modified
1881         the down key to stop cycling. Maybe page up/down should be implemented
1882         at some later time.
1883
1884 Mon Oct 13 20:58:07 2003  Matthias Clasen  <maclas@gmx.de>
1885
1886         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon): Make it work 
1887         as documented when pixmap or mask is NULL.  (#124081) 
1888
1889 Mon Oct 13 20:21:38 2003  Kristian Rietveld  <kris@gtk.org>
1890
1891         * gtk/gtkentry.c (gtk_entry_set_text): I overlooked a return when
1892         I was adding the signal block/unblock code. Oops. (Noticed by
1893         Marco Pesenti Gritti).
1894
1895 Mon Oct 13 20:21:55 2003  Kristian Rietveld  <kris@gtk.org>
1896
1897         * demos/testpixbuf-scale.c: enable GTK_DISABLE_DEPRECATED again,
1898         (set_interp_type), (main): port over from option menu to GtkComboBox.
1899
1900 Mon Oct 13 19:41:55 2003  Kristian Rietveld  <kris@gtk.org>
1901
1902         * tests/testmenus.c: Still uses option menus, so turn off
1903         GTK_DISABLE_DEPRECATED.
1904
1905 Sun Oct 12 01:10:29 2003  Matthias Clasen  <maclas@gmx.de>
1906
1907         * gtk/gtkalignment.[hc]: 
1908         * gtk/gtkcombobox.[hc]: 
1909         * gtk/gtkcomboboxentry.[hc]: 
1910         * gtk/gtktreemodelfilter.[hc]: Move GET_PRIVATE macros
1911         from header to implementation.
1912
1913 Sun Oct 12 00:18:02 2003  Matthias Clasen  <maclas@gmx.de>
1914
1915         * tests/testtreeview.c: 
1916         * demos/testpixbuf-scale.c: 
1917         * tests/prop-editor.c: These files still use option menus,
1918         so turn off GTK_DISABLE_DEPRECATED to fix the build. 
1919
1920 Sat Oct 11 23:14:36 2003  Matthias Clasen  <maclas@gmx.de>
1921
1922         * gtk/gtkactiongroup.h: 
1923         * gtk/gtkaction.h: 
1924         * gtk/gtkradioaction.h: 
1925         * gtk/gtkradiotoolbutton.h: 
1926         * gtk/gtkseparatortoolitem.h: 
1927         * gtk/gtktoggleaction.h: 
1928         * gtk/gtktoolitem.h: 
1929         * gtk/gtkuimanager.h: Add G_BEGIN_DECLS/G_END_DECLS to make 
1930         these usable in C++.  (#124351, Murray Cumming)
1931
1932 Sat Oct 11 19:09:05 2003  Kristian Rietveld  <kris@gtk.org>
1933
1934         * gtk/gtkentry.c (gtk_entry_set_text): Check if completion is
1935         non-NULL before accessing it. Oops.
1936
1937 Sat Oct 11 15:47:03 2003  Kristian Rietveld  <kris@gtk.org>
1938
1939         * gtk/gtkentrycompletion.[ch] (gtk_entry_completion_insert_action),
1940         (gtk_entry_completion_insert_action_text),
1941         (gtk_entry_completion_insert_action_markup): the gchar* parameters
1942         should be const (pointed out by both Marco Pesenti Gritti and
1943         Murray Cumming (#124356).
1944
1945 Sat Oct 11 15:37:19 2003  Kristian Rietveld  <kris@gtk.org>
1946
1947         * gtk/gtkcombobox.c (gtk_combo_box_size_allocate): for the custom
1948         child list mode, allocate the height allocation->height to the
1949         button instead of the height requested by the button. (Tiny
1950         size allocation screwup noticed by Macro Pesenti Gritti).
1951
1952 Sat Oct 11 15:23:27 2003  Kristian Rietveld  <kris@gtk.org>
1953
1954         Fixes based on comments from Marco Pesenti Gritti.
1955
1956         * gtk/gtkentry.c (gtk_entry_set_text): block the completion changed
1957         signal handler, avoids the completion popup to popup when text is
1958         set programmatically in most cases (we actually have to handle this
1959         in the _editable functions as well, but that will break popping up
1960         when the user actually typed something :),
1961         (gtk_entry_completion_key_press): when handling enter, bail out
1962         when nothing has been selected,
1963         (gtk_entry_completion_changed): don't popdown when the entry content
1964         changed.
1965
1966         * gtk/gtkentrycompletion.c (gtk_entry_completion_init),
1967         (gtk_entry_completion_selected_changed): unselect_all on the
1968         first selected changed signal. Avoids having a default row selected,
1969         (_gtk_entry_completion_popup): don't select the first row by default.
1970
1971         * gtk/gtkentryprivate.h (struct _GtkEntryCompletionPrivate): add a
1972         first_sel_changed field.
1973
1974 Fri Oct 10 23:02:58 2003  Matthias Clasen  <maclas@gmx.de>
1975
1976         * demos/gtk-demo/menus.c: Replace GtkItemFactory by GtkUIManager 
1977         in the intro (again).
1978
1979 Fri Oct 10 22:50:05 2003  Matthias Clasen  <maclas@gmx.de>
1980
1981         Fixes for (#124212, Marco Pesenti Gritti):
1982         
1983         * gtk/gtkuimanager.c (update_smart_separators): Don't spit 
1984         warnings for popups.
1985         (_gtk_menu_is_empty): Return FALSE for non-menus.
1986
1987 Fri Oct 10 19:10:12 2003  Kristian Rietveld  <kris@gtk.org>
1988
1989         * gtk/gtkcombo.h: Deprecate.
1990         * gtk/gtkoptionmenu.h: Ditto.
1991
1992         * gtk/gtkcombobox.c (gtk_combo_box_size_request),
1993         (gtk_combo_box_size_allocate): Rework, things behave better now. Still
1994         needs some work on requesting enough size when taking the items in
1995         the list into account.
1996
1997         * gtk/gtkfilesel.c: put gtkoptionmenu.h include inside "enable
1998         deprecated" guards.
1999         * gtk/gtkinputdialog.c: ditto.
2000         * gtk/gtkitemfactory.c: ditto.
2001         * gtk/gtkoptionmenu.c: ditto.
2002
2003         * demos/gtk-demo/menus.c: remove the option menu.
2004         * demos/gtk-demo/sizegroup.c: replace the option menus with
2005         GtkComboBox.
2006         * demos/gtk-demo/textview.c: ditto.
2007         (A general GtkComboBox demo will be added later on).
2008
2009 Wed Oct  8 00:06:17 2003  Matthias Clasen  <maclas@gmx.de>
2010
2011         * demos/gtk-demo/ui_manager.c (activate_radio_action): New
2012         callback to propertly report radio actions.
2013
2014         * demos/gtk-demo/ui_manager.c (do_ui_manager): Use it here.
2015
2016 Tue Oct  7 23:23:05 2003  Matthias Clasen  <maclas@gmx.de>
2017
2018         * gtk/gtkplug.c (xembed_set_info): Put the supported protocol
2019         version in in the right field of the _XEMBED_INFO property.  
2020         (#123885, Denis Mikhalkin)
2021
2022 Mon Oct  6 14:18:47 2003  Jonathan Blandford  <jrb@redhat.com>
2023
2024         * gtk/gtkexpander.c (gtk_expander_animation_timeout): only show
2025         the child if we have one.
2026
2027         (gtk_expander_button_release): use
2028         gtk_widget_activate instead.
2029
2030 Mon Oct  6 21:05:46 2003  Matthias Clasen  <maclas@gmx.de>
2031
2032         * gtk/gtktable.c (gtk_table_class_init): Start the blurb for 
2033         "right_attach" with a capital.  (#123945, Christian Rose)
2034
2035 Sun Oct  5 23:59:03 2003  Matthias Clasen  <maclas@gmx.de>
2036
2037         * tests/testsocket.c (child_read_watch): Remove an
2038         extraneous unref.  (#122336, Frederic Crozat)
2039
2040 Sun Oct  5 22:38:22 2003  Matthias Clasen  <maclas@gmx.de>
2041
2042         * gtk/gtkeventbox.c (gtk_event_box_class_init): Trim 
2043         whitespace in "visible-window" blurb.  (#123910, Christian Rose)
2044
2045 Sun Oct  5 00:53:15 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2046
2047         * gtk/gtktoolbar.c (gtk_toolbar_list_children_in_focus_order):
2048         focus arrow before pack_end items (#123851, Matthias Clasen)
2049
2050 Fri Oct  3 20:50:48 2003  Kristian Rietveld  <kris@gtk.org>
2051
2052         * gtk/gtkcombobox.c (gtk_combo_box_set_model): only set the model
2053         on ->priv->cell_view if ->priv->cell_view is non-NULL.
2054
2055         * gtk/gtkcomboboxentry.c: include gtkintl.h, add text_renderer
2056         field to GtkComboBoxEntryPrivate,
2057         (gtk_combo_box_entry_class_init), (gtk_combo_box_entry_init),
2058         (gtk_combo_box_entry_set_property), (gtk_combo_box_entry_get_property),
2059         (gtk_combo_box_entry_set_text_column), (gtk_combo_box_entry_new): add
2060         a construct-only "text_column" property and reorder code to use it
2061         and support inheriting this widget.
2062
2063 Thu Oct  2 23:28:02 2003  Kristian Rietveld  <kris@gtk.org>
2064
2065         * gtk/gtkcombobox.c: Added API doc comments.
2066
2067         * gtk/gtkcomboboxentry.c: Ditto.
2068
2069 2003-10-02  Matthias Clasen  <maclas@gmx.de>
2070
2071         * gtk/gtktoggleaction.c: Documentation tweaks.
2072
2073 Wed Oct  1 22:43:40 2003  Kristian Rietveld  <kris@gtk.org>
2074
2075         * gtk/gtkcellview.[ch]: implement the GtkCellLayout interface, drop
2076         packing/attribute/cell data functions from the header,
2077         (gtk_cell_view_set_cell_data): added support for cell data funcs.
2078
2079         * gtk/gtkcombobox.[ch]: implement the GtkCellLayout interface, drop
2080         packing/attribute/cell data functions from the header, implemented
2081         cell data func support.
2082
2083         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_new): updated
2084         for the move to GtkCellLayout.
2085
2086         * tests/testcombo.c (create_combo_box_grid_demo), (main): ditto.
2087
2088 2003-10-01  Matthias Clasen  <maclas@gmx.de>
2089
2090         * gtk/gtkaction.c (gtk_action_class_init): 
2091         (gtk_action_[gs]et_property): Introduce a separate
2092         "hide_if_empty" property for empty menu handling.
2093         (_gtk_action_sync_menu_visible): ...and use it here.
2094
2095         * tests/testmerge.c (main): ...and here.
2096
2097         * gtk/gtktoolitem.c (gtk_tool_item_class_init): Fix signal doc 
2098         comments to pacify gtk-doc.
2099
2100         * gtk/gtkmain.c: Doc formatting tweaks.
2101
2102         * gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo.
2103
2104         * gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio): 
2105         Use the same parameter names as in .c file, to pacify gtk-doc.
2106
2107         * gtk/gtktoggletoolbutton.[hc]: 
2108         * gtk/gtktoolbutton.[hc]: 
2109         * gtk/gtktoolitem.[hc]:
2110         * gtk/gtktoolbar.[hc]: 
2111         * gtk/gtkcolorbutton.[hc]: 
2112         * gtk/gtkfontbutton.[hc]: 
2113         * gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the 
2114         source, not in the header.
2115
2116         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio): 
2117         Document these as 2.4 API additions.
2118
2119 Tue Sep 30 23:42:56 2003  Kristian Rietveld  <kris@gtk.org>
2120
2121         * gtk/gtkentry.c (gtk_entry_set_completion),
2122         (gtk_entry_get_completion): Add API doc comments.
2123
2124         * gtk/gtkentrycompletion.c: Fix #includes and add API doc comments.
2125
2126 Tue Sep 30 23:12:34 2003  Kristian Rietveld  <kris@gtk.org>
2127
2128         * gtk/gtktreemodelfilter.c: Add "Since: 2.4" to all API doc comments.
2129
2130 Tue Sep 30 22:59:58 2003  Kristian Rietveld  <kris@gtk.org>
2131
2132         * gtk/gtktreeviewcolumn.c: Some API doc comment fixes.
2133
2134         * gtk/gtkcellayout.c: Fix #include and oooooh API doc comments!
2135
2136 2003-09-30  Matthias Clasen  <maclas@gmx.de>
2137
2138         * tests/merge-*.ui: 
2139         * tests/testmerge.c: Test handling of empty menus.
2140
2141         * gtk/gtkuimanager.c (_gtk_menu_is_empty): New function to determine
2142         whether a menu is empty. Used in gtkaction.c.
2143         (update_smart_separators): Also update the visibility of empty menus.
2144         (update_node): When creating a new menu proxy, insert an "Empty" menu 
2145         item which only gets shown if the menu is empty. 
2146
2147         * gtk/gtkaction.c (gtk_action_class_init): Document the meaning of
2148         "is_important" for menu proxies.
2149         (_gtk_action_sync_menu_visible): New function to sync the visibility
2150         of menu proxies. Used in gtkuimanager.c.
2151         (gtk_action_sync_visible): New function to sync the visibility of 
2152         proxies.
2153
2154 Tue Sep 30 21:43:34 2003  Kristian Rietveld  <kris@gtk.org>
2155
2156         * gtk/gtkcombobox.c (gtk_combo_box_menu_button_press): set
2157         popup_in_progress to TRUE,
2158         (gtk_combo_box_menu_show): and back to FALSE here; the menu now
2159         won't disappear on the first button release. (Reported by Matthias
2160         Clasen).
2161
2162 Tue Sep 30 21:08:43 2003  Kristian Rietveld  <kris@gtk.org>
2163
2164         * gtk/gtkcombobox.c (gtk_combo_box_init): actually show the child.
2165
2166         * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_init): ditto. (#123543,
2167         Marco Pesenti Gritti).
2168
2169 2003-09-30  Murray Cumming  <murrayc@usa.net>
2170  
2171         * gtk/gtkcellrenderer.h: The render vfunc takes a GdkDrawable*
2172         instead of a GdkWindow*, because that what it is given. The 
2173         documentation was already correct. This should cause no API/ABI
2174         breakage with C compilers.
2175         * gtk/gtkcellrenderertext.c, gtkcellrendererpixbuf.c, 
2176         gtkcellrenderertogger.c: Updated the declarations of the render vfunc
2177         implementation accordingly.
2178
2179 2003-09-30  Matthias Clasen  <maclas@gmx.de>
2180
2181         * gdk/gdkkeys.c (gdk_keymap_class_init): Document the
2182         "direction-changed" and "keys-changed" signals.
2183
2184         * gdk/gdkscreen.c (gdk_screen_class_init): Document the 
2185         "size-changed" signal.
2186
2187         * gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): 
2188         Document the "display-opened" signal.
2189
2190         * gdk/gdkdisplay.c (gdk_display_close): Doc tweak.
2191         (gdk_display_class_init): Document the "closed" signal.
2192
2193 Sat Sep 27 16:02:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2194
2195         * gtk/gtktextview.[ch]: rename property tab_moves_focus to
2196         accepts_tab. (#122709 again).
2197
2198 2003-09-27  Matthias Clasen  <maclas@gmx.de>
2199
2200         * gtk/gtkwindow.c (gtk_window_new):
2201         * gtk/gtkitemfactory.c (gtk_item_factory_new): Document 
2202         the fact that the newly created object does not come with 
2203         a floating reference.  (#103068, patch by Frederic Lespez)
2204         
2205         * gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor 
2206         of GtkUIManager. Just leave GtkTranslateFunc undeprecated, 
2207         since GtkActionGroup uses it.
2208
2209         * tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
2210         this test uses the soon-to-be-deprecated GtkItemFactory.
2211
2212         * demos/gtk-demo/Makefile.am (demos): Add ui_manager.c,
2213         remove item_factory.c
2214
2215         * demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c 
2216         using GtkUIManager instead of GtkItemFactory.
2217
2218         * tests/testmerge.c: Demonstrate the use of the 
2219         connect-proxy signal.
2220
2221         * gtk/gtkaction.c (connect_proxy): Add connect-proxy and 
2222         disconnect-proxy signals to do small customizations 
2223         like displaying tooltips in the statusbar without 
2224         custom actions.  (#122894, Philip Langdale)
2225
2226         * gtk/gtkuimanager.c (update_node): Don't leak tooltip.
2227
2228 Fri Sep 26 23:49:44 2003  Kristian Rietveld  <kris@gtk.org>
2229
2230         Landing the new ComboBox. Note that only gtkcombobox.h and
2231         gtkcomboboxentry.h are public.
2232
2233         * gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
2234         gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.
2235
2236         * gtk/Makefile.am, gtk/gtk.h: adding the new files.
2237
2238         * tests/testcombo.c: and a new test.
2239
2240         * tests/Makefile.am: adding the new test.
2241
2242 2003-09-25  Tor Lillqvist  <tml@iki.fi>
2243
2244         * demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows.
2245
2246 2003-09-21  Tor Lillqvist  <tml@iki.fi>
2247
2248         * gdk/win32/gdkevents-win32.c (handle_wm_paint): New
2249         function. Code split out from gdk_event_translate(). Needed
2250         because gdk_event_get_graphics_expose() couldn't do anything
2251         sensible otherwise. (Not that I think graphics exposes work anyway
2252         in gdk/win32, but at least now the code could work.)
2253
2254         (gdk_event_get_graphics_expose): Call handle_wm_paint() instead of
2255         gdk_event_translate(), which couldn't have worked as it doesn't
2256         take any pre-allocated GdkEvent parameter any longer.
2257         
2258         (gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let
2259         GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman)
2260
2261 2003-09-24  Matthias Clasen  <maclas@gmx.de>
2262
2263         * demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips
2264         on toolitems.
2265
2266         * gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.
2267
2268         * gtk/gtkuimanager.c (update_node): Don't complain about missing
2269         actions on popups. Re-set "tooltip" property on toolitems after
2270         adding them to parent to trigger proxy update.
2271
2272 2003-09-22  Matthias Clasen  <maclas@gmx.de>
2273
2274         * tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
2275         group member to test the fix for #122904.
2276
2277         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
2278         Add the action to the group before activating it, otherwise we
2279         may end up with multiple active group members.  (#122904, Marco
2280         Pesenti Gritti)
2281
2282 2003-09-21  Matthias Clasen  <maclas@gmx.de>
2283
2284         Changes to make cross-process merging feasible:
2285         
2286         * gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
2287         merged UI definition. Remove the "changed" signal, since its role
2288         is now filled by "notify::ui". Instead add a "actions-changed" signal
2289         which gets emitted when the set of actions changes.
2290
2291         * gtk/gtktoggleactionprivate.h:
2292         * gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
2293         Add a "draw_as_radio" property to toggle actions so that they can be
2294         used as proxies for radio actions much like the "draw_as_radio" 
2295         property on check menu items enables them to operate as proxies for
2296         radio actions.
2297
2298         Prevent the "show_all" trap for action-based menus (see
2299         http://mail.gnome.org/archives/gtk-devel-list/2003-September/
2300         msg00260.html):
2301
2302         * gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
2303         calls from static functions.
2304
2305         * gtk/gtkuimanager.c (update_node): 
2306         * gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
2307         widgets whose visibility is externally controlled.
2308
2309         * gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean 
2310         "no_show_all" property with setter and getter. When TRUE, it keeps
2311         gtk_widget_{hide,show}_all() from modifying the visibility of the 
2312         widget and its children.
2313
2314 Sun Sep 21 23:13:37 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2315
2316         * gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709)
2317
2318 2003-09-20  Tor Lillqvist  <tml@iki.fi>
2319
2320         * gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
2321         including editor backup files. List files we want explicitly.
2322
2323         * gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
2324         calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
2325         LC_ALL, LC_CTYPE and LANG environment variables, than calls
2326         g_win32_getlocale().
2327
2328         (gtk_get_default_language): Code snippet moved to above function,
2329         call it.
2330
2331         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
2332         * gtk/gtkrc.c (gtk_rc_context_parse_file): Call
2333         _gtk_get_lc_ctype() instead of setlocale().
2334
2335 Fri Sep 19 18:15:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2336
2337         * gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
2338         (#96632)
2339
2340 Fri Sep 19 13:24:54 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2341
2342         * gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve
2343         documentation. (#117306, Steve Chaplin)
2344
2345 2003-09-19  Tor Lillqvist  <tml@iki.fi>
2346
2347         * gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms
2348         present on the US-International keyboard. For clarity, order
2349         keysyms in case statement according to numeric value.
2350
2351         (gdk_keymap_translate_keyboard_state): Handle Caps Lock
2352         correctly. (#120176, Ken Rastatter and Owen Taylor)
2353
2354 2003-09-18  Matthias Clasen  <maclas@gmx.de>
2355
2356         * gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to
2357         unref a closure, not g_object_unref().  (#122637, Marco Pesenti Gritti)
2358
2359         Install accelerators on actions, not on proxies, support
2360         accelerator-only actions:
2361         
2362         * gtk/gtkmenu.c (get_accel_path): New function to get the accel path
2363         and its lock status either via _gtk_widget_get_accel_path() or by 
2364         looking at the accel_path stored in the menu item itself and determining
2365         its lock status by peeking into the contained accel label. This was
2366         already (accidentally) committed a week ago.
2367
2368         * gtk/gtkaction.h (gtk_action_set_accel_group):
2369         (gtk_action_[dis]connect_accelerator): New functions.
2370
2371         * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
2372         accel_closure and accel_count. We must have a reference to the 
2373         accel_group, since we need it in connect_proxy. The count is necessary
2374         to ensure that the accelerator isn't removed before the last proxy 
2375         requesting it has been unmerged.
2376         (connect_proxy): Connect the accelerator to the 
2377         action now, only set the accel_path on the menuitem.
2378         (remove_proxy): Disconnect the accelerator from the action, not from
2379         the menuitem.
2380         (gtk_action_set_accel_group): Set the accel group. 
2381         (gtk_action_[dis]connect_accelerator): Count the number of times
2382         this functions have been called and install/remove the accelerator if
2383         the count leaves/reaches zero.
2384
2385         * gtk/gtkuimanager.h (GtkUIManagerItemType): Add 
2386         GTK_UI_MANAGER_ACCELERATOR.
2387
2388         * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
2389         (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
2390         <accelerator> elements.
2391         (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
2392         type is GTK_UI_MANAGER_ACCELERATOR.
2393         (update_node): Set the accel group on actions before creating their
2394         proxies. Don't set the accel group on created menus. For 
2395         NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
2396         (print_node): Also emit <accelerator> elements.
2397
2398         * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. 
2399
2400         * gtk/gtkuimanager.c (update_node): Robustness improvements.
2401
2402 2003-09-17  Matthias Clasen  <maclas@gmx.de>
2403
2404         * gtk/gtkuimanager.c (text_handler): Report unexpected character
2405         data as error from the GMarkup parser, otherwise things like
2406         gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) 
2407         pass unexpectedly.
2408
2409 Wed Sep 17 02:38:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2410
2411         * gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
2412         committed redraw_on_allocate change.
2413
2414 Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>
2415
2416         * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
2417         stubs to fix compilation
2418
2419         * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
2420         when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).
2421
2422         * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
2423         variable. Patch from Marc Welz (#121347).
2424
2425 2003-09-16  Matthias Clasen  <maclas@gmx.de>
2426
2427         * gtk/gtkaction.h: Apply egtk-format-protos.
2428
2429 2003-09-15  Matthias Clasen  <maclas@gmx.de>
2430
2431         * gtk/gtkuimanager.c: Doc tweaks.
2432
2433         Smart separators; see 
2434         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00133.html:
2435         
2436         * gtk/gtkuimanager.c (update_smart_separators): New function which 
2437         implements "smart" separators by iterating once over the entries of a 
2438         menu, hiding and showing separators as necessary.
2439         (update_node): Mark separators used as fences of placeholders as
2440         hidden. Explicitly added separators are marked as smart. Call 
2441         update_smart_separators after updating a menu or toolbar node. 
2442         Connect update_smart_separators to "notify::visible" signal on menu
2443         and tool items.
2444         
2445         * tests/merge-[12].ui: Test smart separators.
2446
2447         Changes to allow setting action state before connecting signal; see
2448         the thread starting at 
2449         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00140.html:
2450         
2451         * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
2452         (gtk_action_group_add_radio_actions_full): Add value parameter to allow
2453         setting the currently selected group member before connecting signals.
2454         (GtkToggleActionEntry): Separate struct for constructing toggle actions,
2455         including a boolean to initialize the action state before connecting
2456         signals.
2457         (gtk_action_group_add_toggle_actions):
2458         (gtk_action_group_add_toggle_actions_full): New functions to construct
2459         toggle actions from an array of GtkToggleActionEntries.
2460
2461         * demos/gtk-demo/appwindow.c: 
2462         * tests/testactions.c: 
2463         * tests/testmerge.c: Adjust to new action group API.
2464
2465 Sun Sep 14 16:59:52 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2466
2467         * gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow 
2468         "gtk-toolbar-arrow" so themes can special-case it.
2469
2470 Sun Sep 14 16:07:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2471
2472         * gtk/Makefile.am (gtk_c_sources): sort the list of files.
2473
2474 Sun Sep 14 15:49:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2475
2476         * gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
2477         PangoFontMetrics. Patch from Steve Chaplin (#122257).
2478
2479 2003-09-14  Tor Lillqvist  <tml@iki.fi>
2480
2481         * gdk/win32/gdkwindow-win32.c (show_window_internal): Remove
2482         special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
2483         the usefulness of which was already in doubt. Removing it fixes
2484         bugs #118575 and #121851.
2485
2486 Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>
2487
2488         Merge from stable.
2489
2490         * gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
2491         pressed button (used to determine if we want to initiate a drag later
2492         on) if the current grab widget is either NULL or tree_view (Reported
2493         by Jeroen Zwartepoorte).
2494
2495 2003-09-12  Matthias Clasen  <maclas@gmx.de>
2496
2497         * gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) 
2498         (gdk_draw_text_wc): Add deprecation notes.  (#121955, Martin Pool)
2499
2500 2003-09-11  Matthias Clasen  <maclas@gmx.de>
2501
2502         * gdk/gdkpango.c: Doc tweaks.
2503
2504         * tests/testgtk.c: Add table menu tests.
2505
2506         * gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the 
2507         GtkMenuPrivate struct itself. Pointed out by valgrind.
2508
2509         * gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up 
2510         properly.  (#121998)
2511
2512 Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>
2513
2514         The table menu patch! Turns GtkMenu into a table, so you can attach
2515         menu items in numerous new ways! Be creative!
2516
2517         Contains some bug fixes and RTL adaptions from Matthias Clasen.
2518
2519         * gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
2520         GtkMenuPrivate, introduce AttachInfo, add child properties enum,
2521         (gtk_menu_free_private), (gtk_menu_get_private): we have to free
2522         the heights array in the private struct,
2523         (gtk_menu_class_init): reorder code a bit, install child properties,
2524         (get_attach_info), (get_child_attach): new utility functions,
2525         (gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
2526         child properties, for the attach info,
2527         (gtk_menu_remove): remove AttachInfo from menu item,
2528         (gtk_menu_real_insert): implemented algorithm to automagically place
2529         inserted menu items at the correct place in the table,
2530         (gtk_menu_size_request), (gtk_menu_size_allocate),
2531         (compute_child_offset): reworked/rewritten to support table menus,
2532         (gtk_menu_attach): new function,
2533         (find_child_containing), (gtk_menu_move_current): new functions to
2534         get table menu keynav right.
2535
2536         * gtk/gtkmenu.h: add gtk_menu_attach() prototype.
2537
2538 2003-09-10  Matthias Clasen  <maclas@gmx.de>
2539
2540         * gtk/gtksocket.c (gtk_socket_filter_func): Only remove 
2541         PropertyNotify events from the stream if they have been handled,
2542         in order to enable extending the plug<->socket communication via
2543         properties.
2544
2545 Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>
2546
2547         Big TreeView DnD fixage, makes drops on empty models work, makes
2548         TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
2549         Related bugs #95362 and #113314. I don't want to touch this code
2550         ever again.
2551
2552         * gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.
2553
2554         * gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
2555         for selection_data->length.
2556
2557         * gtk/gtktreeview.c (struct DestRow), (dest_row_free),
2558         (set_dest_row), (get_dest_row): we don't store just the row ref
2559         anymore, but a struct with the row ref and additional info,
2560         (set_destination_row): handle drops on empty space and some
2561         style fixes,
2562         (get_logical_dest_row): also return path_down_mode/drop_append_mode
2563         flags, handle dropping childs on their new parents, rewrite
2564         drop append handling into something saner,
2565         (gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
2566         spaces,
2567         (gtk_tree_view_drag_drop): updates for updated backend,
2568         (gtk_tree_view_drag_data_received): updates for updated backend,
2569         path down mode (treestore DnD) handling,
2570         (gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
2571         when we are trying to drop a row on an empty model,
2572         (gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.
2573
2574         * gtk/gtkliststore.c (gtk_list_store_drag_data_received),
2575         (gtk_list_store_row_drop_possible): style and drop-append fixes.
2576
2577         * gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
2578
2579 2003-09-08  Alexander Larsson  <alexl@redhat.com>
2580
2581         * gtk/gtkeventbox.[hc]:
2582         Implement gtk_event_box_get/set_input_only()
2583         
2584         * tests/testgtk.c:
2585         Tests for the new input only event boxes
2586
2587 Mon Sep  8 21:44:20 2003  Kristian Rietveld  <kris@gtk.org>
2588
2589         Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.
2590
2591         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
2592         the call to gtk_tree_model_filter_add_root,
2593         (gtk_tree_model_filter_row_changed): bail out if c_path is not above
2594         the virtual root, allow building levels on the second try to convert
2595         the child path to a filter path,
2596         (gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
2597         root when calling gtk_tree_model_filter_elt_get_path.
2598
2599 2003-09-07  Matthias Clasen  <maclas@gmx.de>
2600
2601         * gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
2602         Josh Beam)
2603
2604         Fixes for accelerator handling during (un)merging:
2605         
2606         * gtk/gtkuimanager.c (update_node): Move setting info-action
2607         after the switch, since the old action is needed in some cases.
2608         In cases of proxy type mismatch, disconnect the old proxy from
2609         the old action.
2610
2611         * gtk/gtkaction.c (remove_proxy): Renamed from 
2612         gtk_action_remove_proxy(). Move unsetting of the accelerator
2613         here from disconnect_proxy() in order to catch all cases of 
2614         removing a proxy.
2615         (gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
2616         to fail if proxy isn't a proxy of action.
2617
2618 2003-09-07  Pablo Saratxaga  <pablo@mandrakesoft.com>
2619
2620         * configure.in: Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to
2621         ALL_LINGUAS
2622
2623 2003-09-07  Matthias Clasen  <maclas@gmx.de>
2624
2625         * gtk/gtkaction.c (disconnect_proxy): Make disconnect work
2626         for toolitems.
2627
2628 2003-09-06  Matthias Clasen  <maclas@gmx.de>
2629
2630         * gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from 
2631         prev_action, not from action.  (Fix by David Hampton)
2632
2633 Fri Sep  5 14:15:10 2003  Owen Taylor  <otaylor@redhat.com>
2634  
2635         * Back out locale-dependent interpretation of
2636         KP_Decimal, the official XFree86 interpretation
2637         is that KP_Decimal => . KP_Separator => ,
2638         always, independent of locale. 
2639         (#105161, Frederic Crozat, 
2640         http://bugs.xfree86.org/show_bug.cgi?id=534)
2641  
2642 2003-09-04  Matthias Clasen  <maclas@gmx.de>
2643
2644         * tests/testmerge.c: Test buttons and toggle buttons as proxies.
2645
2646         * gtk/gtktoggleaction.c (connect_proxy): 
2647         (gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note 
2648         that a "draw_as_radio" property is needed for check buttons similar to 
2649         check menu items, in order to fully support button proxies for radio actions.
2650
2651         * gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.
2652
2653         * tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). 
2654
2655         * gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
2656         'type' argument of gtk_ui_manager_add_ui().
2657
2658         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
2659         to make this function as powerful as the XML methods of adding UI.  (#120647)
2660
2661 Thu Sep  4 19:11:23 2003  Kristian Rietveld  <kris@gtk.org>
2662
2663         Merge from stable.
2664
2665         * docs/RELEASE-HOWTO: updates.
2666
2667 2003-09-04  Matthias Clasen  <maclas@gmx.de>
2668
2669         * tests/merge-2.ui: Use "position" instead of "pos".
2670
2671         * gtk/gtkuimanager.c (start_element_handler): No need 
2672         to be terse: Change the name of the "pos" attribute
2673         to "position".
2674
2675 2003-09-04  Matthias Clasen  <maclas@gmx.de>
2676
2677         * gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and 
2678         GtkUIManagerNode to shorten the names and to make the
2679         GTK_UI_MANAGER_<TYPE> names available for a public enum.
2680
2681         * gtk/gtkactiongroup.c:
2682         * gtk/gtkuimanager.c: Various doc tweaks.       
2683
2684         * gtk/gtkuimanager.c (start_element_handler):
2685         (end_element_handler): Improve error reporting. 
2686
2687 Wed Sep  3 23:18:17 2003  Kristian Rietveld  <kris@gtk.org>
2688
2689         Merge from stable.
2690
2691         * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
2692         use end_position - page_size instead of G_MAXINT, since
2693         gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
2694         reported by Havoc Pennington).
2695
2696 Wed Sep  3 21:58:03 2003  Kristian Rietveld  <kris@gtk.org>
2697
2698         Merge from stable.
2699
2700         * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL,
2701         unref it. (Fixes memleak, patch from Kjartan Maraas).
2702
2703 Wed Sep  3 21:38:26 2003  Kristian Rietveld  <kris@gtk.org>
2704
2705         * gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
2706         gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c,
2707         gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
2708         gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
2709         gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
2710         gtk/gtktypeutils.h: big patch from Kjartan Maraas
2711         to fix numerous typos.
2712
2713 Wed Sep  3 17:38:01 BST 2003  Tony Gale <gale@gtk.org>
2714
2715         * docs/faq/gtk-faq.sgml: Correct compile line for threads example.
2716
2717 2003-09-02  Tor Lillqvist  <tml@iki.fi>
2718
2719         * gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call
2720         CloseHandle() on the HMODULE returned from GetModuleHandle().
2721         Didn't cause any harm, but didn't do anything useful either. When
2722         running a GTK+ program under MS's debugger, the CloseHandle() call
2723         would cause a "first-chance exception" in ntdll.dll to show up.
2724         (The exception is caught appropriately if you let it proceed, but
2725         it confuses the person using the debugger). Thanks to Bruce
2726         Hochstetler for noticing.
2727
2728 Tue Sep  2 21:01:19 2003  Kristian Rietveld  <kris@gtk.org>
2729
2730         Merge from stable.
2731
2732         * gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
2733         to only select when button 1 is pressed introduced in the fix of
2734         bug #120187.
2735
2736 2003-09-02  Matthias Clasen  <maclas@gmx.de>
2737
2738         * gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.
2739
2740         * gtk/gtkuimanager.c: Shorten the names of some static 
2741         functions.
2742
2743         Support adding and removing merge nodes dynamically (#120647, 
2744         Anders Carlsson):
2745         
2746         * gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed 
2747         gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id 
2748         and made it public.
2749         (gtk_ui_manager_add_ui): New function to add UI elements
2750         without juggling XML fragments, currently restricted to menuitems,
2751         toolitems and separators. Actions still come from registered 
2752         action groups.
2753
2754 Mon Sep  1 19:39:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2755
2756         * gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the
2757         background pixmap was being offset twice, once by the ts_origin in
2758         gdk_window_get_bg_gc(), and once by gdk_draw_rectangle().
2759
2760 2003-09-01  Matthias Clasen  <maclas@gmx.de>
2761
2762         * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
2763         this public again, since it's occasionally useful.  (#121128,
2764         Marco Pesenti Gritti)
2765
2766         * gtk/gtkaction.c: Add an "is_important" property and propagate
2767         it to toolitem proxies.  (#121058, Marco Pesenti Gritti)
2768
2769 Mon Sep  1 00:32:30 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2770
2771         * tests/testtoolbar.c (main): connect to "delete_event" so the
2772         application will actually quit when you close the window
2773
2774 2003-09-01  Matthias Clasen  <maclas@gmx.de>
2775
2776         * gtk/gtkuimanager.c (gtk_ui_manager_get_widget) 
2777         (gtk_ui_manager_get_action): g_return_if_fail() if
2778         path is NULL.
2779         (gtk_ui_manager_get_node): Avoid a segfault if path is empty.
2780         (gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, 
2781         Marco Pesenti Gritti)
2782
2783 2003-08-31  Matthias Clasen  <maclas@gmx.de>
2784
2785         * gtk/gtktoolitem.c: Fix some typos in docs.
2786
2787         * gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
2788         replaces gtk_ui_manager_activate().  (#120658)
2789
2790         * tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
2791         gtk_ui_manager_activate().
2792
2793         * gtk/gtkaction.c: 
2794         * gtk/gtkactiongroup.c: Some doc tweaks.
2795
2796         * gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
2797         wasn't emitted anyway. Some doc tweaks.
2798
2799 2003-08-30  Matthias Clasen  <maclas@gmx.de>
2800
2801         * tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
2802         rather than to "remove" on handlebox. 
2803
2804         * gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
2805         activate an action found by following a path.  (#120658)
2806
2807         * tests/testmerge.c: Add a button to test gtk_ui_manager_activate().
2808
2809         * tests/testmerge.c (add_widget): Put toolbars in handleboxes.
2810
2811         * gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with 
2812         setter and getter. If it is set, add tearoff menu items to regular 
2813         menus, but not to popups. Add a signal "changed", which gets emitted
2814         when the merged ui has changed.  (#120649, #120656)
2815
2816         * tests/testmerge.c: Add button to test the generation of tearoff 
2817         menu items.
2818
2819 2003-08-29  Matthias Clasen  <maclas@gmx.de>
2820
2821         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
2822         Actually group the actions together rather than putting each in its 
2823         own group.
2824
2825         * gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on 
2826         proxy menu items for radio actions.
2827
2828         * gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.
2829
2830 Fri Aug 29 21:40:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2831
2832         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
2833         Fix use of uninitialized variable.
2834
2835         * gtk/gtktextutil.c
2836         (_gtk_text_util_append_special_char_menuitems): add const cast to
2837         get rid of warning
2838
2839 2003-08-29  Matthias Clasen  <maclas@gmx.de>
2840
2841         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install 
2842         "draw_as_radio" as a separate property, not as an alias of 
2843         "inconsistent".
2844         (gtk_check_menu_item_get_property): 
2845         (gtk_check_menu_item_set_property): Also support "draw_as_radio".
2846
2847 Fri Aug 29 20:32:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2848
2849         * gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
2850         are narrower than 13 time the estimated character width of the
2851         font. (#107781, David Bordoley)
2852
2853         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
2854         here if the GtkToggleButton is active. This may be the case if it
2855         is a radio button.
2856
2857         * gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
2858         vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
2859         Suarez-Alvarez).
2860
2861         * gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
2862         property. (#111207, David Bordoley).
2863
2864         * gtk/gtktoggletoolbutton.c
2865         (gtk_toggle_tool_button_create_menu_proxy): use new
2866         "draw_as_radio" property on the menu item when the item is a radio
2867         tool button
2868
2869         * gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
2870         to only pay attention to the "use_underline" property when the
2871         button label comes from the "label" property.
2872
2873 2003-08-29  Laurent Dhima  <laurenti@alblinux.net>
2874
2875         * configure.in: Added "sq" to ALL_LINGUAS.
2876         
2877 2003-08-28  Matthias Clasen  <maclas@gmx.de>
2878
2879         * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
2880         fix in the docs.
2881
2882         * gtk/gtkuimanager.c: Change the XML format:
2883         <Root> element is replaced by <ui>,
2884         <menu> element is replaced by <menubar>,
2885         <submenu> element is replaced by <menu>,
2886         <dockitem> element is replaced by <toolbar>,
2887         <popups> element is gone,
2888         verb attribute is replaced by action,
2889         name defaults to action or the element name. 
2890
2891         * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by 
2892         GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified 
2893         by removing the user_data, entry_type and extra_data fields, 
2894         GtkRadioActionEntry is further simplified by removing the callback. 
2895         The user_data can now be specified as an argument to 
2896         gtk_action_group_add_actions(). There is a new method 
2897         gtk_action_group_add_radio_actions(), which is similar to 
2898         gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
2899         and a callback parameter in addition to the user_data. The callback
2900         is connected to the ::changed signal of the first group member.
2901         There are _full() variants taking a GDestroyNotify of 
2902         gtk_action_group_add_[radio_]actions().
2903
2904         * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted 
2905         on every member of the radio group when the active member is changed. 
2906         Add an integer property "value", and a getter for the value of "value"
2907         on the currently active group member. 
2908
2909         * tests/testactions.c: 
2910         * tests/testmerge.c: 
2911         * tests/merge-[123].ui:  
2912         * demos/gtk-demo/appwindow.c: Adjust to these changes.
2913
2914         * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
2915
2916 2003-08-27  Anders Carlsson  <andersca@gnome.org>
2917
2918         * demos/gtk-demo/appwindow.c (do_appwindow): Focus the
2919         text view, so the tool bar won't have focus.
2920
2921 Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>
2922
2923         * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
2924         declaration not at start of block. (#120371, Damien Carbery)
2925
2926 2003-08-26  Matthias Clasen  <maclas@gmx.de>
2927
2928         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize 
2929         for length, not gsize.
2930
2931         * gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to 
2932         <ui> and make it optional in strings. Rename verb to action, <dockitem> 
2933         to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.
2934
2935         * demos/gtk-demo/appwindow.c: 
2936         * tests/testactions.c: 
2937         * tests/testmerge.c:
2938         * tests/merge-1.ui:
2939         * tests/merge-2.ui:
2940         * tests/merge-3.ui: Adjust to the new XML format.
2941
2942 Mon Aug 25 19:55:55 2003  Owen Taylor  <otaylor@redhat.com>
2943
2944         * gtk/gtktextview.c (gtk_text_view_update_layout_width): 
2945         Since we add one to the layout's reported width to
2946         account for the cursor, we need to subtract one when
2947         setting the wrap width for the layout. (Fixes infinite
2948         loop (#120325, Frederic Crozat)
2949
2950         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2951         Be a bit more careful about rounding when converting
2952         wrapped width from Pango units to pixels.
2953
2954 2003-08-26  Matthias Clasen  <maclas@gmx.de>
2955
2956         Rename GtkMenuMerge to GtkUIManager. 
2957         
2958         * gtk/gtkuimanager.[hc]: New files. 
2959         * gtk/gtkmenumerge.[hc]: Removed. 
2960
2961         * gtk/Makefile.am: 
2962         * gtk/gtk.h:
2963         * tests/testmerge.c: 
2964         * tests/testactions.c: 
2965         * demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by 
2966         GtkUIManager.
2967
2968         * demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: 
2969         add comments to entries array, remove newlines from ui definition. Don't 
2970         use the ::add_widget signal.
2971
2972 Mon Aug 25 17:28:04 2003  Owen Taylor  <otaylor@redhat.com>
2973
2974         * gtk/gtknotebook.c (gtk_notebook_forall): Don't
2975         include page->menu_label - causes various problems,
2976         including #12047.
2977
2978 Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>
2979
2980         Merge from stable.
2981
2982         Fixes #115871, reported by Michael Natterer.
2983
2984         * gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
2985         added ctrl_pressed and shift_pressed bitfields,
2986         (_gtk_tree_selection_internal_select_node): replace GdkModifierType
2987         arg with GtkTreeSelectMode.
2988
2989         * gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
2990         (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
2991         (_gtk_tree_selection_internal_select_node): all updated for
2992         GdkModifierType -> GtkTreeSelectMode move.
2993
2994         * gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
2995         and shift_pressed around selection handling block,
2996         (gtk_tree_view_real_select_cursor_row),
2997         (gtk_tree_view_real_toggle_cursor_row),
2998         (gtk_tree_view_real_selection_cursor_parent),
2999         (gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
3000         instead of checking the event state. And also updates for the
3001         GdkModifierType -> GtkTreeSelectMode move.
3002
3003 Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>
3004
3005         * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
3006         to the parent when there was no focus widget before
3007         and no focus widget after - that is, when there are
3008         no focusable widgets. (#108678, help tracking it
3009         down from Padraig O'Briain, Federico Mena Quintero, )
3010
3011         * gtk/gtkxembed.[ch]: Move various shared utilities
3012         for the XEMBED protocol eused by GtkPlug and GtkSocket 
3013         here.
3014
3015         * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
3016         a flag bit that is sent with focus mesages to indicate
3017         that the focus has wrapped around on the toplevel;
3018         use this bit to catch infinite loops when there is no
3019         focusable widget at ll in the entire toplevel.
3020
3021         * tests/testsocket.c (child_read_watch): Remove an
3022         extraneous unref.
3023
3024         * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: 
3025         Up XEMBED protocol version to 1, add logic for 
3026         sending the right version in XEMBED_EMBEDDED_NOTIFY.
3027
3028         * gtk/gtksocket.c (gtk_socket_add_window): Send
3029         the embedder window in the XEMBED_EMBEDDED_NOTIFY
3030         as the spec requires.
3031
3032 Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>
3033
3034         * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and 
3035         NumLock handling for non-XKB. Add a special case
3036         hack for NumLock on Sun servers. (Patch from
3037         Robert Basch, #115819)
3038
3039 2003-08-25  Matthias Clasen  <maclas@gmx.de>
3040
3041         * gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten 
3042         Welinder)
3043
3044         * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
3045         gtk_action_group_set_translation_domain): Hooks for translation of
3046         label and tooltip in GtkActionGroupEntries.  (#120620)
3047
3048 2003-08-25  Matthias Clasen  <maclas@gmx.de>
3049
3050         * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
3051         values properly. Sorry about the resize grip trouble, Owen.  (#120621)
3052         
3053         * gtk/gtkactiongroup.c: 
3054         * demos/gtk-demo/appwindow.c: 
3055         * tests/testmerge.c: 
3056         * tests/testactions.c: Use new GtkActionGroupEntryType enum.  
3057
3058 Sun Aug 24 17:14:44 2003  Owen Taylor  <otaylor@redhat.com>
3059
3060         * gtk/gtk.h: Remove reference to gtkresizegrip.h.
3061
3062 Sun Aug 24 17:03:44 2003  Owen Taylor  <otaylor@redhat.com>
3063
3064         * gtk/Makefile.am: Fix accidental commit of references
3065         to gtkresizegrip.[ch]
3066
3067 Sun Aug 24 17:00:03 2003  Owen Taylor  <otaylor@redhat.com>
3068
3069         * gtk/gtkrc.c: Fix some missing initializations of
3070         rc_file->directory.
3071
3072 2003-08-24  Matthias Clasen  <maclas@gmx.de>
3073
3074         * gtk/gtkaction.[ch]: 
3075         * gtk/gtktoggleaction.[ch]: 
3076         * gtk/gtktoggleactionprivate.h: 
3077         * gtk/gtkradioaction.[ch]: 
3078         * gtk/gtkactiongroup.[ch]: 
3079         * gtk/gtkmenumerge.[ch]: A model-view separation for menus and
3080         toolbars, using the EggMenu code by James Henstridge.
3081
3082         * gtk/gtk.h: Include new headers.
3083         * gtk/Makefile.am: Add new files.
3084
3085         * tests/testactions.c: Test for actions.
3086         * tests/testmerge.c: Test for menu merging.
3087         * tests/merge-[123].ui: Test data for testmerge. 
3088         * tests/Makefile.am: Add testactions and testmerge.
3089
3090         * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the 
3091         menubar and toolbar.
3092         
3093 Sat Aug 23 21:40:18 2003  Owen Taylor  <otaylor@redhat.com>
3094  
3095         * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix 
3096         problem where rc_file->directory wasn't always getting
3097         set. (#120549, Luis Villa)
3098  
3099 2003-08-22  Christian Rose  <menthos@menthos.com>
3100
3101         * configure.in: Added "ne" to ALL_LINGUAS.
3102
3103 Thu Aug 21 16:00:36 2003  Owen Taylor  <otaylor@redhat.com>
3104  
3105         * gtk/gtkrc.c: Keep a list of current GtkRcFiles
3106         being parsed, not just the directories for those
3107         files. Use that to catch recursion. (Part of
3108         #114988)
3109  
3110 Thu Aug 21 21:27:45 2003  Kristian Rietveld  <kris@gtk.org>
3111
3112         Merge from stable.
3113
3114         Fix option menu scrolling (#119821, Owen Taylor).
3115
3116         * gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
3117         by #80484 and the CLAMP,
3118         (get_menu_height): new function,
3119         (gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
3120         new_offset to handle page up/down right.
3121
3122 Thu Aug 21 15:17:42 2003  Owen Taylor  <otaylor@redhat.com>
3123
3124         * gdk/x11/gdkkeys-x11.c: Change the interpretation
3125         of consumed_modifiers so that it contains:
3126          - Modifiers combinations actually found in
3127            state.
3128          - Single modifier modifier combinations.
3129         But not multi-modifier combinations that aren't
3130         in event->state. Document. (#100439)
3131
3132 Thu Aug 21 20:53:46 2003  Kristian Rietveld  <kris@gtk.org>
3133
3134         Slightly modified patch from Yann Rouillard to improve selection
3135         behavior with the mouse. Fixes #120187.
3136
3137         * gtk/gtktreeview.c (gtk_tree_view_button_press): only
3138         select/deselect items on the first button press of button 1,
3139         expand checks for row_activated to include triple clicks.
3140
3141 Thu Aug 21 01:33:51 2003  Kristian Rietveld  <kris@gtk.org>
3142
3143         Merge from stable.
3144
3145         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
3146         approximate digit widths up, to avoid truncation, convert to
3147         pango pixels when we have the full string width instead of converting
3148         the approx digit width to pango pixels, take inner border and
3149         interior focus into account correctly. (Fixes #116368, patch from
3150         Morten Welinder).
3151
3152 2003-08-20  Noah Levitt  <nlevitt@columbia.edu>
3153
3154         * gtk/queryimmodules.c: Don't look at the same directory twice (in
3155         simple cases). (#120342)
3156
3157 Wed Aug 20 22:04:47 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3158
3159         * gdk/gdkwindow.c: Make the layers in the paint stack have their
3160         own pixmap instead of sharing one. (#118317)
3161
3162         * tests/testgtk.c (create_get_image): Fixes to make the window fit
3163         on an 800x600 screen
3164
3165 Wed Aug 20 22:03:25 2003  Kristian Rietveld  <kris@gtk.org>
3166
3167         Merged from stable.
3168
3169         * gtk/gtkspinbutton.c (start_spinning): change the type of step
3170         to gdouble, since it gets it's data from a gdouble (Fixes #113547).
3171
3172 Mon Aug 18 17:19:12 2003  Owen Taylor  <otaylor@redhat.com>
3173
3174         * modules/input/gtkimcontextxim.[ch]: Substantially
3175         rework the handling of status windows:
3176         
3177          - Store the current StatusWindow in the 
3178            GtkIMContextXIM structure and vice-versa, so we
3179            don't have to hunt the window hierarchy on
3180            cleanup.
3181          - Use the Gtkidget hierarchy instead of/or as well
3182            as the GdkWindow hierarchy when finding the toplevel;
3183            this helps for things like GtkHandlebox
3184          - Watch GtkWidget::hierarchy_changed to catch 
3185            changes in the toplevel without changes in the
3186            GdkWindow (reparenting)
3187          - Never create the GtkWindow for the status window
3188            unless we have text to display.
3189          - Various cleanups, add lots of comments.
3190
3191         (#115077, much help from Takuro Ashie and Hidetoshi
3192         Tajima in tracking this down and figuring out a fix.)
3193
3194         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): 
3195
3196         * modules/input/gtkimcontextxim.c: Track the current
3197         screen for each toplevel so that we show the status
3198         window on the right screen. (#116340, James Su)
3199
3200         * modules/input/gtkimcontextxim.c: If create a new IC
3201         when we currently have the focus, call XSetICFocus()
3202         on it.
3203         
3204         * modules/input/gtkimcontextxim.c (get_im): Fix bug
3205         with multiple open screens.
3206
3207 Tue Aug 19 14:37:46 2003  Owen Taylor  <otaylor@redhat.com>
3208
3209         * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): 
3210         Replace client_window field with 'priv' pointer,
3211         retaining binary compatibility.
3212
3213         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): 
3214         save use_preedit/cursor_location/focus status and set
3215         up the new slave appropriately. (#118651, Botond Botyanszki)
3216
3217 Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>
3218
3219         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
3220         Don't use impl->position_info.clip_rect for toplevels.
3221         (#107068, reported by Thomas Mirlacher)
3222
3223 Mon Aug 18 11:48:51 2003  Owen Taylor  <otaylor@redhat.com>
3224
3225         * gdk/x11/gdkdrawable-x11.c (convert_to_format): 
3226         Add a fallback for unaligned source data for
3227         FORMAT_ARGB_MASK. (#117217)
3228
3229 Mon Aug 18 10:51:57 2003  Owen Taylor  <otaylor@redhat.com>
3230
3231         * configure.in: Rework handling of REBUILD_PNGS,
3232         so that we also don't try to REBUILD_PNGS when
3233         cross-compiling and there is no gdk-pixbuf-csource.
3234         But give an error if gtk/stock-icons/gtkstockpixbufs.h
3235         is not in the source tree. (Note that REBUILDS_PNG
3236         was set backwards before, which is why you always
3237         had to manually recreate gtkstockpixbufs.h!)
3238
3239 Mon Aug 18 10:19:55 2003  Owen Taylor  <otaylor@redhat.com>
3240
3241         * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the
3242         path to libgtk.la. (#120080, Benedikt Spranger)
3243
3244 Sat Aug 16 10:34:49 2003  Owen Taylor  <otaylor@redhat.com>
3245
3246         * modules/input/imcedilla.c: Make the list of default
3247         languages more comprehensive. (Suggestion of
3248         Fco. Javier F. Serrador)
3249
3250 Sat Aug  9 12:47:11 2003  Owen Taylor  <otaylor@redhat.com>
3251
3252         * gdk/gdk.c (gdk_arg_context_parse): Fix broken 
3253         parentheses when skipping args.
3254
3255 Sat Aug 16 16:22:23 2003  Kristian Rietveld  <kris@gtk.org>
3256
3257         Fix major bug in row ref handling, so the new combo box
3258         will actually work right (:. Bug #107748. Patch written
3259         with help from Tim Janik.
3260
3261         The basic idea is to update the row refs in a closure,
3262         before the actual signal is emitted (rather than having
3263         the model connect signal handlers).
3264
3265         * gtk/gtktreemodel.c (gtk_tree_model_base_init): change
3266         g_signal_new calls for row_inserted, row_deleted and
3267         rows_reordered to use the new marshallers,
3268         (row_inserted_marshall), (row_deleted_marshall),
3269         (rows_reordered_marshall): the new marshallers,
3270         (gtk_tree_row_ref_inserted_callback): renamed to
3271         gtk_tree_row_ref_inserted since it isn't a callback
3272         anymore and gets called by the marshaller now,
3273         (gtk_tree_row_ref_deleted_callback): likewise,
3274         (gtk_tree_row_ref_reordered_callback): likewise,
3275         (connect_ref_callbacks), (disconnect_ref_callbacks):
3276         removed,
3277         (gtk_tree_row_reference_new_proxy),
3278         (gtk_tree_row_reference_free),
3279         (gtk_tree_row_reference_inserted),
3280         (gtk_tree_row_reference_deleted),
3281         (gtk_tree_row_reference_reordered): updated.
3282
3283 Fri Aug 15 16:54:39 2003  Owen Taylor  <otaylor@redhat.com>
3284
3285         Improve Cedilla handling - based on a patch from Gustavo 
3286         De Nardin, #111334
3287
3288         * modules/input/imcedilla.c po/POTFILES.in: Input method that 
3289         produces C_WITH_CEDILLA rather than C_WITH_ACUTE for 
3290         dead_acute+c combinations. Make this the default for
3291         fr and pt.
3292
3293         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): 
3294         Use LC_CTYPE instead of LC_MESSAGES to pick the default
3295         input method.
3296
3297 Fri Aug 15 17:00:19 2003  Owen Taylor  <otaylor@redhat.com>
3298
3299         * gtk/gtkimcontextsimple.c: Fix missing compose sequence
3300         for Multi_key+c+apostrophe.
3301
3302 Fri Aug 15 21:57:34 2003  Kristian Rietveld  <kris@gtk.org>
3303
3304         Merged from stable.
3305
3306         * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
3307         on vertical scrolling. (#108035, reported by Tim Janik).
3308
3309 Fri Aug 15 20:06:42 2003  Kristian Rietveld  <kris@gtk.org>
3310
3311         Merged from stable.
3312
3313         * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
3314         (gtk_tree_model_sort_level_find_insert),
3315         (gtk_tree_model_sort_insert_value): fix off-by-one error.
3316         (#109292 continued, patch from Yann Rouillard).
3317
3318 Fri Aug 15 19:43:14 2003  Kristian Rietveld  <kris@gtk.org>
3319
3320         (Note: This is not exactly the same as the patch which went in
3321          gtk-2-2).
3322
3323         * gtk/gtktreeview.c (gtk_tree_view_class_init),
3324         (gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event):
3325         Also support the up, down, left, right, home, end, page up and
3326         page down keys on the numpad. (#119419, reported by Alex Larsson).
3327
3328 Fri Aug 15 12:34:04 2003  Owen Taylor  <otaylor@redhat.com>
3329
3330         Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):
3331
3332         * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that
3333         we link libgtk against X explicitely, since we
3334         make GTK+ calls for plug/socket.
3335
3336         * gtk/queryimmodules.c: Use USE_LA_MODULES and 
3337         G_MODULE_SUFFIX here. 
3338
3339         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
3340         XShmPutImage with #ifdef USE_SHM.
3341
3342 Thu Aug 14 18:25:39 2003  Owen Taylor  <otaylor@redhat.com>
3343
3344         * gtk/gtkfilesel.c (gtk_file_selection_populate):
3345         Don't reposition the cursor when we aren't trying
3346         to complete. (Fixes problems with selection on
3347         startup, #108433, reported by Mark Finlay.)
3348
3349         * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove
3350         code that tried to position the cursor after the common
3351         prefix when there was one, it wasn't working, and
3352         would be hard to fix. Just always put the cursor
3353         at the end when completing.
3354
3355 Thu Aug 14 17:58:23 2003  Owen Taylor  <otaylor@redhat.com>
3356
3357         * gtk/gtkfilesel.c (get_current_dir_utf8): If getting
3358         the current directory fails because of encoding
3359         conversion problems, walk up textually to parent
3360         directories until we can convert. (#113627)
3361
3362 Wed Aug 13 17:01:49 2003  Owen Taylor  <otaylor@redhat.com>
3363
3364         * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify):
3365         Remove usage of menu_shell->ignore leave which was
3366         to deal with stray events we no longer get because
3367         we do grabbing differently. Comment it as unused in
3368         the header. (#115837, Keith Bissett)
3369
3370 Wed Aug 13 16:32:43 2003  Owen Taylor  <otaylor@redhat.com>
3371
3372         * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): 
3373         Fix some places that weren't properly Xinerama-ified.
3374
3375         * gtk/gtkmenu.c: Fix problem with windows that scroll
3376         at the top of the screen.
3377
3378 Wed Aug 13 11:34:53 2003  Owen Taylor  <otaylor@redhat.com>
3379
3380         * gtk/gtkcombo.c (gtk_combo_init): connect_after() to 
3381         key-press-event on the entry, so input methods get access to 
3382         key presses before GtkCombo customization.
3383         (#115451, Botond Botyanszki)
3384
3385 2003-08-13  Anders Carlsson  <andersca@gnome.org>
3386
3387         * tests/testtoolbar.c: (set_important_func), (important_toggled),
3388         (create_items_list):
3389         Add an important column.
3390         
3391 Tue Aug 12 15:00:15 2003  Owen Taylor  <otaylor@redhat.com>
3392
3393         * gtk/gtkwindow.c (gtk_window_real_set_focus): Protect
3394         against reentrancy from ::focus-out handlers. 
3395         (#118129, Felipe Heidrich)
3396
3397 Tue Aug 12 14:27:42 2003  Owen Taylor  <otaylor@redhat.com>
3398
3399         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove
3400         GDK_LOCK_MASK before calling
3401         gdk_keymap_translate_keyboard_state so bindings 
3402         and accelerators are independent of the Caps-lock
3403         key. (#115384, reported by Toni Willberg)
3404
3405 Mon Aug 11 12:07:14 2003  Owen Taylor  <otaylor@redhat.com>
3406
3407         * gdk/x11/gdkevents-x11.c (get_real_window): Add missing
3408         break statements (#119494, Soeren Sandmann)
3409
3410 Mon Aug 11 11:10:07 2003  Owen Taylor  <otaylor@redhat.com>
3411
3412         * gtk/gtkwidget.h: Mark parent public as well; it's
3413         extensively accessed in existing code, so there is
3414         no advantage in making people use get_parent().
3415         (Tweak to #119463 fix)
3416
3417 2003-08-11  Matthias Clasen  <maclas@gmx.de>
3418
3419         Add support for EWMH "Above" and "Below" window states.  (105100,
3420         Manuel Clos)
3421         
3422         * tests/testgtk.c: Add "Above" and "Below" to the the "Window
3423         State" demo.
3424
3425         * gtk/gtkwindow.h: Add gtk_window_set_keep_above and
3426         gtk_window_set_keep_below.
3427
3428         * gtk/gtk.def: Add gtk_window_set_keep_above and
3429         gtk_window_set_keep_below.
3430
3431         * gtk/gtkwindow.c (gtk_window_set_keep_below):
3432         (gtk_window_set_keep_above): New functions, call the corresponding
3433         gdk functions.
3434
3435         * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New
3436         function, sets _NET_WM_STATE_BELOW.
3437         (gdk_window_set_keep_above): New function, sets
3438         _NET_WM_STATE_ABOVE.
3439
3440         * gdk/gdkwindow.h: Add gdk_window_set_keep_above and
3441         gdk_window_set_keep_below.
3442
3443         * gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and
3444         GDK_WINDOW_STATE_BELOW.
3445
3446         * gdk/gdk.def: Add gdk_window_set_keep_above and
3447         gdk_window_set_keep_below.
3448
3449         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
3450         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
3451         xmlcatalog in PATH.  (#119115)
3452
3453 2003-08-10  Matthias Clasen  <maclas@gmx.de>
3454
3455         * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as
3456         public.  (#119463)
3457
3458 2003-08-09  Noah Levitt  <nlevitt@columbia.edu>
3459
3460         * gdk/gdkevents.h:
3461         * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
3462         docs on GdkFilterFunc and GdkFilterReturn.
3463
3464 2003-08-09  Matthias Clasen  <maclas@gmx.de>
3465
3466         * gtk/gtkcalendar.c:  Add and hook in gtk_calendar_scroll,
3467         to let the mouse wheels select the month. Scrolling down
3468         moves forward in time. (#53134, Abigail Brady) 
3469
3470         * gtk/gtkcalendar.c: Complete the RTL flipping support for
3471         GtkCalendar, make it possible to flip the headings using the
3472         "magic translated string" technique.  Translators, note the
3473         comment in gtk_calendar_init() explaining this.  (#102416)
3474
3475         * gtk/gtkcalendar.c: Get the information about the first day of
3476         the week from the locale using another instance of the "magic
3477         translated string" technique.  Ignore the display option
3478         GTK_CALENDAR_WEEK_START_MONDAY with a warning.  (#87977)
3479
3480         * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected
3481         date is dragged as text, formatted via strftime %x. Text drops are
3482         accepted if g_date_set_parse() can make sense of the text. A
3483         dedicated data format for date DND has not been introduced yet,
3484         since there didn't seem to be sufficient consensus on such a
3485         format on xdg-list.  (#117297)
3486         
3487 2003-08-08  Matthias Clasen  <maclas@gmx.de>
3488
3489         * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach):
3490         Fix a segfault.  (#115284, Jan Kratochvil)
3491
3492 2003-08-08  Tor Lillqvist  <tml@iki.fi>
3493
3494         * gdk/win32/gdkevents-win32.c (print_event): Print also the root
3495         coordinates for events that have such. Print coordinates for enter
3496         and leave events.
3497
3498         (gdk_event_translate): Don't use event uninitialixed in the
3499         return_exposes branch of the WM_PAINT handler.
3500
3501         * gdk/win32/gdkwindow-win32.c (gdk_window_new,
3502         _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): 
3503         Must offset top-level window coordinates here, too.
3504
3505 2003-08-08  Matthias Clasen  <maclas@gmx.de>
3506
3507         * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip
3508         when maximized or fullscreen.
3509
3510 2003-08-07  Tor Lillqvist  <tml@iki.fi>
3511
3512         * gdk/win32/gdkinput-win32.h
3513         * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
3514         _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't
3515         used.
3516
3517         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
3518         accordingly, in fact an uninitialised variable was dereferenced.
3519         
3520
3521         [Win32] Add support for multiple monitors. 
3522         
3523         * gdk/win32/gdkprivate-win32.h
3524         * gdk/win32/gdkglobals-win32.c: New global variables for
3525         multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
3526         _gdk_offset_x and _gdk_offset_y.
3527         
3528         * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
3529         functions, enumeration functions passed to EnumDisplayMonitors().
3530
3531         (gdk_display_open): If the EnumDisplayMonitors() and
3532         GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
3533         if to find out monitor info.
3534
3535         Calculate the offset between Win32 coordinates (relative to the
3536         primary monitor's origin (and thus negative on monitors to the
3537         left of or above it), and GDK's (visible coordinates should be
3538         non-negative).
3539         
3540         * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
3541         gdk_screen_get_monitor_geometry): Use information collected above.
3542
3543         (gdk_window_move, gdk_window_move_resize_window_get_geometry):
3544         Subtract _gdk_offset_{x,y} from GDK root window coordinates.
3545
3546         (gdk_window_get_geometry, gdk_window_get_origin,
3547         gdk_window_get_frame_extents): For top-level windows, add
3548         _gdk_offset_{x,y} to GDK root window coordinates
3549
3550         Still need to handle multiple monitors in
3551         gdk_window_fullscreen(). Probably should make the window
3552         fullscreen on the monitor where the cursor is?
3553
3554         * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
3555         root window coordinates in GdkEvents.
3556
3557         
3558         [Win32] Fix geometry hint handling. Add support for resize
3559         increment and base size, and aspect ratio geometry hints. The
3560         "gridded geometry" test in testgtk now works beautifully.
3561
3562         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3563         Turns out this function shouldn't actually ever modify the
3564         window's size, just store the hints. (Old code kept for a while
3565         inside #if 0.)
3566
3567         (gdk_window_set_hints): Remove presumably broken code that handles
3568         the position hints, this function is obsolete anyway.
3569
3570         * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
3571         variables, not used.
3572
3573         (adjust_drag): New function, used to implement resize increment
3574         hints.
3575
3576         (gdk_event_translate): Handle WM_SIZING, implement resize
3577         increment and base size, and aspect ratio geometry hints here. The
3578         WM_GETMINMAXINFO handler takes care of the minimum and maximum
3579         size hints as before. Fix the WM_GETMINMAXINFO handler to take
3580         into account window decorations. No need to modify the
3581         ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
3582         the defaults are fine.
3583         
3584         * gdk/win32/gdkprivate-win32.h 
3585         * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
3586         _gdk_win32_get_adjusted_client_rect): New helper functions.
3587
3588 2003-08-07  Matthias Clasen  <maclas@gmx.de>
3589
3590         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the
3591         toplevel->have_* flags before iterating over the _NET_WM_STATE 
3592         atoms.  (#119217) 
3593
3594 Thu Aug  7 16:49:29 2003  Owen Taylor  <otaylor@redhat.com>
3595  
3596         * gtk/gtkwidget.c (gtk_widget_set_style_internal): 
3597         Fix a bug where on theme change, resize/redraw wasn't
3598         properly getting queued on toplevel windows. (#116346,
3599         Rajkumar Siva)
3600  
3601         * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): 
3602         Fix bug where wrong coordinates were used for toplevel
3603         window.
3604  
3605 Thu Aug  7 16:40:21 2003  Owen Taylor  <otaylor@redhat.com>
3606
3607         * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
3608         page_num variable (Archit Baweja)
3609
3610 2003-08-07  Matthias Clasen  <maclas@gmx.de>
3611
3612         * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to
3613         cope with C libraries with crippled locale support.  (#115293)
3614
3615 2003-08-07  Hans Breuer  <hans@breuer.org>
3616
3617         * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
3618         (only if the new window not known to Gdk) to get proper
3619         leave notification, and get rid of the wrong placed 
3620         tooltips, bug #102283
3621  
3622         (gdk_event_translate) : small code reordering to not get
3623         GDK_MOTION_NOTIFY for still mouse and get back tooltips on 
3624         menus, bug #117367
3625
3626 2003-08-07  Tor Lillqvist  <tml@iki.fi>
3627
3628         * gdk/gdk.def
3629         * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
3630         missing function, trivially implement.
3631
3632 2003-08-07  Matthias Clasen  <maclas@gmx.de>
3633
3634         * gtk/gtkctree.c (draw_row): Don't cut descenders when 
3635         rendering.  (#118646, Charles Kerr) 
3636
3637 2003-08-06  Hans Breuer  <hans@breuer.org>
3638
3639         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
3640         initialize bits to 0 (probably default on NT)
3641
3642         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
3643         now it works as intended ;-)
3644
3645 2003-08-04  Hans Breuer  <hans@breuer.org>
3646
3647         * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) :
3648         set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435
3649
3650         * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen
3651         (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN
3652
3653         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
3654         against all expectations it is basically ony a call with WM_SETICON
3655         needed (the visual effect is there, though colors or mask are
3656         still somewhat wrong).
3657         * gdk/win32/gdkwindow-win32.h : place to store the HICON
3658
3659         * gdk/win32/gdkdrawabke.win32.c : readded the conditional end
3660         pixel drawing as it was fixed at 1999-08-23
3661
3662         gtk/gtk.def : updated
3663
3664 Tue Aug  5 10:07:08 2003  Owen Taylor  <otaylor@redhat.com>
3665
3666         * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): 
3667         Add a missing break. (#119156, Callum McKenzie)
3668
3669 Tue Aug  5 00:24:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3670
3671         * gtk/gtkmenu.c (gtk_menu_position): New positioning
3672         algorithm.(#116649)
3673
3674 Fri Aug  1 15:26:46 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3675
3676         * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
3677         property
3678         
3679         * gtk/gtkradiotoolbutton.c
3680         (gtk_radio_tool_button_new_from_widget): Don't take a stock id
3681
3682         * gtk/gtkradiotoolbutton.c
3683         (gtk_radio_tool_button_new_with_stock_from_widget): make this
3684         function take a stock_id.
3685
3686         * gtk/toolbar: documentation
3687
3688 Mon Aug  4 14:53:46 2003  Owen Taylor  <otaylor@redhat.com>
3689
3690         * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): 
3691         Fix problem where use_xshm was getting set wrong if
3692         MIT_SHM wasn't found. (George Lebel)
3693
3694 2003-08-04  Tor Lillqvist  <tml@iki.fi
3695
3696         * gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
3697         actually use the passed-in filter list. The function also needs a
3698         GdkWindow parameter, as filter functions expect
3699         GdkEvent::any.window to be valid. (#119034, Hans Breuer)
3700
3701 2003-08-03  Matthias Clasen  <maclas@gmx.de>
3702
3703         * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): 
3704         (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid
3705         the term "virtual screen".  (#119030, Tor Lillquist)
3706
3707 2003-08-02  Matthias Clasen  <maclas@gmx.de>
3708
3709         * tests/testtext.c (test_init): 
3710         * tests/testgtk.c (test_init): 
3711         * tests/testdnd.c (test_init): 
3712         * demos/pixbuf-init.c (pixbuf_init): 
3713         * demos/gtk-demo/main.c (main): Use g_setenv().
3714
3715         * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use
3716         g_unsetenv(). 
3717
3718 Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
3719
3720         * configure.in: Requires glib-2.3.0, pango-1.2.0.
3721
3722         * configure.in: Require Xft version 2,
3723         remove code for handling older versions of pango and Xft.
3724         Many miscellaneous improvements to X checks
3725
3726         * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
3727         a library to a variable, avoiding dups.
3728
3729         * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
3730         Always load "fixed"
3731
3732         * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
3733         for pangox.
3734
3735 2003-08-02  Matthias Clasen  <maclas@gmx.de>
3736
3737         * gtk/gtkcolorsel.c (color_sample_drop_handle) 
3738         (palette_drop_handle): 
3739         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept
3740         drops with the wrong format, since the KDE color chooser incorrectly
3741         drops application/x-color with format 8.  (#118810)
3742
3743         * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
3744         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
3745         Accept drops with the wrong format, since the KDE color chooser 
3746         incorrectly drops application/x-color with format 8.  (#118810)
3747
3748 2003-08-02  Tor Lillqvist  <tml@iki.fi>
3749
3750         Fix gdk/win32 window geometry handling again. The window position
3751         in a GDK_CONFIGURE event should be that of the client area, not of
3752         the window decorations. (I was confused by the term "window
3753         border" in X11. It does *not* mean the window manager
3754         decorations. There are no X11-style window borders in Win32.)
3755         Also, this time do take the geometry hints into account
3756         appropriately when moving windows. Now testgtk's gravity test's
3757         move buttons work OK. There are stil problems with taking gravity
3758         into account when showing a hidden window.
3759
3760         * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints
3761         instead of separate fields.
3762         
3763         * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't
3764         adjust for decorations.
3765
3766         * gdk/win32/gdkwindow-win32.c (get_outer_rect,
3767         adjust_for_gravity_hints): New functions.
3768         (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use
3769         above functions, take geometry hints into account.
3770         (gdk_window_set_geometry_hints): Size hints specicy client area,
3771         not including decorations.
3772
3773 Fri Aug  1 17:10:22 2003  Owen Taylor  <otaylor@redhat.com>
3774
3775         * gtk/gtkfilesel.c (cmpl_completion_fullname): Always
3776         return an absolute path (#115590), fix a problem where
3777         you could crash the file selector with a looong name
3778         by returning a newly allocated buffer.
3779
3780 Fri Aug  1 16:44:51 2003  Owen Taylor  <otaylor@redhat.com>
3781
3782         * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation
3783         bug in rarely or never hit code path (#118071,
3784         Tor Lillqvist)
3785
3786 Fri Aug  1 16:30:13 2003  Owen Taylor  <otaylor@redhat.com>
3787
3788         * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): 
3789         If the check for missing depths, try actually creating pixmaps
3790         of the depths to deal with Xinerama not reporting
3791         all the depths it should. (#115822)
3792
3793 Fri Aug  1 15:33:59 2003  Owen Taylor  <otaylor@redhat.com>
3794
3795         * gtk/gtksocket.c: Patch from Denis Mikhalkin to
3796         forward KeyRelease events as well as KeyPress events.
3797         (#115597)
3798
3799 Fri Aug  1 15:06:25 2003  Owen Taylor  <otaylor@redhat.com>
3800  
3801         * gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
3802         if argc is 0 as well, instead of leaving it unset.
3803         (#116023, Michael Meeks)
3804  
3805 Thu Jul 31 23:09:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3806
3807         * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow
3808         default to TRUE; ignore the property when api_mode != NEW_API
3809
3810 2003-07-31  Matthias Clasen  <maclas@gmx.de>
3811
3812         * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf
3813         to icon, to pacify gtk-doc.
3814
3815         * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion 
3816         example. 
3817
3818 Thu Jul 31 15:33:33 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3819
3820         * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem
3821
3822 Thu Jul 31 15:29:28 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3823
3824         * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused
3825         overflow_item field.
3826
3827 Wed Jul 30 21:11:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3828
3829         * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured()
3830         an internal function
3831
3832         * gtk/gtktoolitem.h: remove unused declaration of
3833         _gtk_tool_item_get_drag_window().
3834
3835 Wed Jul 30 17:03:58 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3836
3837         * gtk/gtktoolbutton.[ch]:
3838         (gtk_tool_button_new): swap icon_widget and label arguments to
3839         match BonoboUIToolbarButton.
3840
3841         * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style().
3842
3843 2003-07-30  Matthias Clasen  <maclas@gmx.de>
3844
3845         * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND
3846         signal docs. 
3847
3848 2003-07-29  Tor Lillqvist  <tml@iki.fi>
3849
3850         Fix for #108007, #112402, #117042: There was confusion in
3851         gdk/win32 at various places whether a window position refers to
3852         the decoration position or the client area position. Also whether
3853         window size includes decorations or not.
3854         
3855         The correct interpretation apparently is that in GDK (like in
3856         X11), a top-level window position means the decoration's position,
3857         but size means the window's inner size (client area size). In the
3858         Win32 API, the window size usually includes the decorations,
3859         though.
3860         
3861         * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
3862         #ifdef G_ENABLE_DEBUG.
3863         (handle_configure_event): New function, generates GDK_CONFIGURE
3864         events from WM_SIZE and WM_MOVE messages. Even if no event is
3865         generated because of the event mask, still set the private
3866         position and size fields. Calculate position and size correctly.
3867         (gdk_event_translate): Call handle_configure_event().
3868
3869         * gdk/win32/gdkgeometry-win32.c: Cosmetics.
3870
3871         * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
3872         macros. Cosmetic debugging output changes.
3873         (SafeAdjustWindowRectEx): Remove. If an application wants to
3874         locate a window outside of the screen, it's not GDK's business to
3875         prevent it. And anyway, with multiple monitors, negative
3876         coordinates are perfectly normal.
3877         (gdk_window_new): Adjust the window size for decorations after
3878         _gdk_window_init_position() has done its job. (But the big window
3879         code currently is presumably broken on Win32 anyway.)
3880         (gdk_window_move): The position passed in is supposed to be that
3881         of the window border, so don't need to adjust for decorations.
3882         (gdk_window_resize, gdk_window_move_resize): Simplify somewhat.
3883
3884 Tue Jul 29 13:55:44 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3885
3886         * gtk/gtktoolbar.c (gtk_toolbar_set_style,
3887         gtk_toolbar_prepend_element, gtk_toolbar_append_element,
3888         gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
3889         gtk_toolbar_append_space, gtk_toolbar_insert_item,
3890         gtk_toolbar_prepend_item, gtk_toolbar_append_item,
3891         gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
3892         gtk_toolbar_new, gtk_toolbar_prepend_item):
3893
3894         Move documentation inline from template files.
3895
3896         * gtk/gtktoolbar.c (gtk_toolbar_insert_element,
3897         gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
3898         gtk_toolbar_append_widget, gtk_toolbar_remove_space,
3899         gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
3900         gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
3901         gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
3902         gtk_toolbar_get_style, gtk_toolbar_get_orientation)
3903
3904         Copy documentation from stable that was added after the EggToolbar
3905         branched.
3906
3907         * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()
3908
3909 Mon Jul 28 18:21:34 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3910
3911         * gtk+/docs/: Commit autogenerated changes, so patches will make
3912         sense.
3913
3914 2003-07-27  Tor Lillqvist  <tml@iki.fi>
3915
3916         * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
3917         the keyboard state returned by GetKeyboardState() doesn't
3918         distinguish between the left and right Control and Alt keys. Thus
3919         we cannot detect AltGr (which is supposed to be left Control +
3920         right Alt) the same way as on NT-based systems, but have to accept
3921         either Control + either Alt as AltGr.
3922
3923 2003-07-27  Matthias Clasen  <maclas@gmx.de>
3924
3925         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
3926         Fix function name in warning message.  (#118156, Tim-Philipp
3927         Mller)
3928
3929         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
3930         is-expander and is-expanded are boolean properties, not ints.
3931         (#118359, Josh Parsons)
3932
3933 Sat Jul 26 15:21:27 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3934
3935         * gtk/gtkimagemenuitem.c
3936         (gtk_image_menu_item_toggle_size_request): don't request
3937         toggle_space when the image width is 0.
3938
3939 2003-07-25  Tor Lillqvist  <tml@iki.fi>
3940
3941         * gdk/win32/gdkprivate-win32.h
3942         * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
3943         and _gdk_keyboard_has_altgr.
3944         
3945         * gdk/win32/gdkevents-win32.c: Lots of changes. Most important
3946         ones detailled here.
3947
3948         Code that has been ifdeffed out for a long time removed. Remove
3949         some really old doc comments that were left behind for some public
3950         functions, the official ones are in the X11 backend anyway. Change
3951         GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
3952         multi-line boolean expressions to have the operators at ends of
3953         lines.
3954
3955         As mouse capture with SetCapture() indeed seems to work OK, no
3956         need to have the correspoinding macro USE_SETCAPTURE and ifdefs.
3957
3958         Ifdef out the gdk-ping-msg stuff. I don't remember why it was
3959         needed at some time, and things seem to work fine now without
3960         (knock on wood).
3961
3962         Ifdef out the search for some Latin locale keyboard layout being
3963         loaded. Not used currently, but might be needed after all, if we
3964         decide that we want to be able to generate ASCII control character
3965         events with a non-Latin keyboard.
3966
3967         (assign_object): New helper function, handles the g_object_ref()
3968         and unref() calls when assigning GObject pointers.
3969                 
3970         (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
3971         enter event when the pointer has moved to an ancestor window. Was
3972         left out by mistake.
3973
3974         (gdk_window_is_ancestor): Renamed from gdk_window_is_child().
3975
3976         (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
3977         functionality, using ClipCursor().
3978                 
3979         (find_window_for_mouse_event): Splice part of code into new
3980         function find_real_window_for_grabbed_mouse_event().
3981
3982         (fixup_event, append_event, apply_filters): New functions, code
3983         refactored out from elsewhere.
3984
3985         (synthesize_enter_or_leave_event, synthesize_leave_event,
3986         synthesize_enter_event,
3987         synthesize_leave_events,synthesize_enter_events): Also take a
3988         GdkCrossingMode parameter, in preparation to generating
3989         GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events.
3990
3991         (fixup_event, append_event, fill_key_event_string): New functions,
3992         code refactoring.
3993
3994         (vk_from_char, build_keypress_event, build_keyrelease_event):
3995         Removed as part of dropping WM_CHAR handling.
3996
3997         (build_key_event_state,gdk_event_translate): Call
3998         GetKeyboardState(), once, for each keyboard message, instead of
3999         several calls to GetKeyState() here and there.
4000
4001         (gdk_event_translate): Fix bugs #104516, #104662, #115902. While
4002         at it, do some major refactoring, and some fixes for potential
4003         problems noticed while going through the code.
4004
4005         Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
4006         WM_KEYUP. Don't need the state variables related to whether to
4007         wait for WM_CHAR or not, and whether the current key is
4008         AltGr. Remove lots of complexity. Thus don't need the
4009         use_ime_composition flag.
4010
4011         Not handling WM_CHAR means dead key handling will have to be taken
4012         care of by GTK, but that seems to work fine, so no worry.
4013
4014         Another side-effect is that Alt+keypad digits don't work any
4015         longer, but it's better to learn to use GTK's ISO14755 support is
4016         anyway.
4017
4018         Be more careful in checking whether AltGr is involved. Only
4019         attempt to handle it if the keyboard actually has it. And
4020         explicitly check for *left* Control plus *right* Alt being
4021         pressed. Still, allow (left) Alt and/or (right) Control with AltGr
4022         chars.
4023
4024         Handle keys using similar code as in the X11 backend. As we have
4025         built a keymap in gdkkeys-win32.c anyway, use it by calling
4026         gdk_keymap_translate_keyboard_state() to look up the keysym from
4027         the virtual key code and keyboard state. Build the key event
4028         string in exactly the same way as the X11 backend.
4029
4030         If an IME is being used, don't generate GDK events for keys
4031         between receiving WM_IME_STARTCOMPOSITION and
4032         WM_IME_ENDCOMPOSITION, as those keys are for the IME.
4033         
4034         For WM_IME_COMPOSITION, handle all the Unicode chars returned from
4035         the IME, not just the first one.
4036
4037         gdk_event_translate() is still quite complex, could split the
4038         message handler cases out into separate functions.
4039
4040         On mouse events, when the mouse is grabbed, use
4041         find_real_window_for_grabbed_mouse_event() in order to be able to
4042         generate correct crossing events.
4043         
4044         No longer take a pre-allocated GdkEvent as parameter. Instead,
4045         allocate events as needed and append them to the queue. (This is
4046         different from how gdk_event_translate() in the X11 backend
4047         works.) This change made the code much clearer, especially in the
4048         cases where we have to generate several GDK events for one Windows
4049         message.  Return FALSE if DefWindowProc() should be called, TRUE
4050         if not. If DefWindowProc() should not be called, also return the
4051         value to be returned from the window procedure.
4052
4053         (Previously, the interaction with gdk_event_translate()'s caller
4054         was much more complex, when we had to indicate whether the
4055         already-queued event should be left in the queue or removed, and
4056         in addition also had to indicate whether to call DefWindowProc()
4057         or not, and what value to return from the window procedure if
4058         not.)
4059
4060         Don't use a separate "private" variable required to be pointing to
4061         the GdkWindowObject of the "window" variable at all times. Just
4062         use casts, even if looks a bit uglier.
4063
4064         Notice destroyed windows as early as possible, and break out of
4065         the messsage switch.
4066
4067         Use _gdk_pointer_root as current_window when the pointer is
4068         outside GDK's top-level windows.
4069         
4070         On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
4071         appropriate, based on ImmIsIME().
4072         
4073         (gdk_event_translate, gdk_event_send_client_message_for_display,
4074         gdk_screen_broadcast_client_message): Implement client messages.
4075         Use a registered Windows message to pass GDK client messages. Note
4076         that the amount of user data is restricted to four bytes, as it is
4077         carried in the LPARAM. (The WPARAM is used for the message type
4078         "atom".)
4079         
4080         (real_window_procedure): Adapt for new gdk_event_translate()
4081         interface.
4082
4083         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
4084         _gdk_input_locale_is_ime initially.
4085
4086         * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
4087         of g_colormap_ref()/unref().
4088
4089         (gdk_window_new): Made code a bit more like the X11 one, pretend
4090         to handle screens (although we just have one for now).
4091
4092         * gdk/x11/gdkevents-x11.c
4093         (gdk_event_send_client_message_for_display,
4094         gdk_screen_broadcast_client_message): Document the user data
4095         limitation on Win32.
4096
4097         * gdk/win32/gdkevents-win32.c (print_event): More complete enter
4098         and leave notify detail output.
4099
4100         * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
4101         visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
4102         for those, so that the GtkIMContextCimple compose tables will
4103         work. Deduce if the keyboard layout has the AltGr key, and set the
4104         above flag accordingly.
4105
4106 2003-07-26  Matthias Clasen  <maclas@gmx.de>
4107
4108         * gtk/gtkwidget.c: Document DND signals.
4109
4110 2003-07-24  Matthias Clasen  <maclas@gmx.de>
4111
4112         * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods"
4113         insensitive when editing isn't possible.  (#118150)
4114
4115 2003-07-23  Matthias Clasen  <maclas@gmx.de>
4116
4117         * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue 
4118         spinbutton wrap.  (#118097, John Darrington)
4119
4120         * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 
4121
4122 2003-07-20  Hans Breuer  <hans@breuer.org>
4123
4124         * makefile.msc : new file to build it all
4125         * Makefile.am : ... added to EXTRA_DIST
4126
4127         * gdk/makefile.msc gtk/stock-icons/makefile.msc 
4128           gtk/makefile.msc.in tests/makefile.msc : updated
4129
4130         * gdk/gdk.def gtk/gtk.def : export a bunch of new 
4131         functions
4132
4133         * gtk/gtkbbox.c : use g_return_val_if_fail() if
4134         there is a value to return
4135
4136         * gtk/gtkfontsel.c gtk/gtkiconfactory.c :
4137         static correctness
4138
4139         * gtk/gtkicontheme.c : ported to use GTimeVal instead of
4140         struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR
4141
4142         * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES
4143
4144         * gtk/gtkimmulticontext.c : use gtkprivate.h
4145
4146         * gtk/stock-icons/stock_color_picker_25.png
4147           gtk/stock-icons/stock_jump_to_rtl_16.png
4148           gtk/stock-icons/stock_jump_to_rtl_24.png
4149           gtk/stock-icons/stock_redo_rtl_16.png
4150           gtk/stock-icons/stock_redo_rtl_24.png
4151           gtk/stock-icons/stock_undelete_rtl_16.png
4152           gtk/stock-icons/stock_undelete_rtl_24.png
4153           gtk/stock-icons/stock_undo_rtl_16.png :
4154           gtk/stock-icons/stock_undo_rtl_24.png :
4155         readded as binary
4156
4157 Sat Jul 19 22:39:24 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4158
4159         * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
4160         leftover request of {xy}thickness
4161
4162 Sat Jul 19 16:26:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4163
4164         * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't
4165         attempt to add a NULL icon to the box.
4166
4167 Sat Jul 19 12:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4168
4169         * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
4170         on focus in/out.
4171
4172 2003-07-19  Matthias Clasen  <maclas@gmx.de>
4173
4174         * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. 
4175         * gtk/gtkiconfactory.c (get_default_icons): Add
4176         stock_dialog_authentication_48.  (#65765) 
4177         * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too.
4178         * gtk/stock-icons/stock_dialog_authentication_48.png: New image.
4179
4180         * gtk/gtkbbox.h: 
4181         * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New
4182         function. (#64562) 
4183
4184 Sat Jul 19 00:18:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4185
4186         * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99
4187         declaration
4188
4189         * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
4190         (gtk_widget_real_focus_{in|out}_event): queue shallow draws
4191         instead of full draws.
4192
4193 2003-07-18  Matthias Clasen  <maclas@gmx.de>
4194
4195         * gtk/gtkwindow.c: Add properties decorated and gravity.  (#80234) 
4196
4197         * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding
4198         signal, move_viewport. 
4199         (gtk_text_view_move_viewport): New function which implements the
4200         move_viewport functionality. 
4201         (gtk_text_view_move_cursor_internal): If the cursor is not visible, move
4202         the viewport. (#78669) 
4203
4204         * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for
4205         move_viewport argument. 
4206
4207         * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip
4208         property.  (#111779) 
4209
4210         * gtk/gtkwindow.h: 
4211         * gtk/gtkwindow.c (gtk_window_set_default_icon): New method.  (#95816)
4212
4213         * gtk/gtkmessagedialog.h:
4214         * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.  
4215         (#65501, Sebastian Rittau)
4216
4217 Fri Jul 18 20:06:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4218
4219         * gtk/gtktextview.c (changed_handler): use
4220         gtk_widget_queue_resize_noredraw().
4221
4222 2003-07-16  Jody Goldberg <jody@gnome.org>
4223
4224         * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
4225
4226 Fri Jul 18 19:55:50 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4227
4228         * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this
4229         API. 
4230
4231 Fri Jul 18 18:43:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4232
4233         By popular request give toolbuttons a border.
4234         
4235         * gtk/gtktoolitem.c
4236         (gtk_tool_item_size_allocate):
4237         (gtk_tool_item_size_request): don't request and allocate a border
4238         around the child
4239
4240         * gtk/gtktoolbutton.c 
4241         (gtk_tool_button_size_allocate):
4242         (gtk_tool_button_size_request): remove these functions
4243
4244         * gtk/gtktoolbar.c 
4245         (gtk_toolbar_size_request):
4246         (gtk_toolbar_size_allocate): request and allocate a border if we
4247         have a shadow.
4248
4249 Thu Jul 17 19:24:51 2003  Kristian Rietveld  <kris@gtk.org>
4250
4251         Merged from stable.
4252
4253         Fixes issues pointed out by Morten Welinder in #115140.
4254
4255         * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment,
4256         (do_validate_rows): update validated_area with a logic OR instead
4257         of a bitwise OR,
4258         (validate_rows_handler): make the if statement match the one in
4259         validate_rows(), so we don't leak the timeout.
4260
4261 Thu Jul 17 19:12:02 2003  Kristian Rietveld  <kris@gtk.org>
4262
4263         Merged from stable.
4264
4265         * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview
4266         should only grab focus back if the "cell_editable" widget still
4267         has focus. (Fixes #110104, testcase provided by Marco Pesenti
4268         Gritti).
4269
4270 Thu Jul 17 19:06:34 2003  Kristian Rietveld  <kris@gtk.org>
4271
4272         Merged from stable.
4273
4274         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
4275         Don't set attr.event_mask twice, those things were meant to be
4276         ORred. (#115139, pointed out by Morten Welinder).
4277
4278 Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
4279
4280         Merged from stable.
4281
4282         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing
4283         if needed. (Fixes #115869, reported by Michael Natterer).
4284
4285 2003-07-15  Matthias Clasen  <maclas@gmx.de>
4286
4287         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
4288         Fight against gtk-doc stupidity.
4289
4290 2003-07-13  Matthias Clasen  <maclas@gmx.de>
4291
4292         * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
4293         targets, to pacify gtk-doc.
4294
4295 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4296
4297         * gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of
4298         label_text, label_widget and icon_widget. (#117312, 
4299         Christian Persch)
4300         
4301 Sun Jul 13 01:37:51 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4302
4303         * gtk/gtkmenu.c (gtk_menu_class_init): new properties
4304         "horizontal-offset" and "vertical-offset" that determines the
4305         position of the menu when it is a submenu. 
4306
4307         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position
4308         submenus according to new vertical- and horizontal-offset
4309         properties.
4310
4311 Sat Jul 12 16:16:04 2003  Kristian Rietveld  <kris@gtk.org>
4312
4313         Merged from stable.
4314
4315         * gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special
4316         case drags to "0", scroll to the top after dropping. (Fixes #94968,
4317         reported by Alp Toker).
4318
4319 Sat Jul 12 16:08:32 2003  Kristian Rietveld  <kris@gtk.org>
4320
4321         Merged from stable.
4322
4323         * demos/gtk-demo/editable_cells.c (cell_edited): fixup bad
4324         code (#115784, Owen Taylor).
4325
4326 Sat Jul 12 16:01:03 2003  Kristian Rietveld  <kris@gtk.org>
4327
4328         Merged from stable.
4329
4330         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
4331         free the old text and extra_attrs *after* we parsed the new
4332         markup string. (Fixes #114485, reported by Owen Taylor).
4333
4334 Sat Jul 12 15:51:33 2003  Kristian Rietveld  <kris@gtk.org>
4335
4336         Merged from stable.
4337
4338         Fixes #113904, testcase provided by Rene Seindal.
4339
4340         * gtk/gtktreeview.c (gtk_tree_view_button_press): set
4341         pressed_button to -1 when a row has been activated,
4342         (gtk_tree_view_motion_bin_window): only start a drag if there's
4343         a button being pressed.
4344
4345 Sat Jul 12 15:51:18 2003  Kristian Rietveld  <kris@gtk.org>
4346
4347         Merged from stable.
4348
4349         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use
4350         gdk_window_get_pointer instead of gdk_display_get_window_at_pointer
4351         to avoid a roundtrip (#110272, Owen Taylor).
4352
4353 Sat Jul 12 15:28:26 2003  Kristian Rietveld  <kris@gtk.org>
4354
4355         Merged from stable.
4356
4357         This patch really really fixes scrolling. Related bugs: #81627,
4358         testcase provided by Timo Sirainen, #111500, testcase provided by
4359         manu, #113241, reported by Pedro Gimeno/Michael Natterer.
4360
4361         * gtk/gtktreeview.c (validate_visible_area): scrolling to a dy
4362         which is equal to the lower border of the window means scrolling
4363         to an invisible row, always update the dy when scrolling to an
4364         invisible row, corrected area_above/below calculations for
4365         invisible rows, when walking the tree correct the size
4366         subtracted for invalidated rows, fix wrong logic in comment.
4367
4368 2003-07-11  Matthias Clasen  <maclas@gmx.de>
4369
4370         * gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free
4371         mime_types.  (#117219, Steve Chaplin)
4372
4373 Tue Jul  8 20:11:04 2003  Owen Taylor  <otaylor@redhat.com>
4374
4375         * gdk/x11/gdkevents-x11.c (get_real_window)
4376         gdk/x11/gdkinput-x11.c (_gdk_input_common_init)
4377         gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init)
4378         gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init)
4379         Don't assume that all events start with XEventAny - Xkb events
4380         don't! (#105745). So, only do that for core events, and for
4381         non-core events, add a system for registering event types
4382         that start with XEventAny.
4383
4384         * gdk/x11/gdkevents-x11.c (gdk_event_translate):
4385         Check to see if the result of gdk_window_lookup_for_display()
4386         is actually a window.
4387
4388 Fri Jul 11 20:48:14 2003  Kristian Rietveld  <kris@gtk.org>
4389
4390         * gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL
4391         check a silent assert, so it follows the g_free() behaviour.
4392
4393 2003-07-11  Matthias Clasen  <maclas@gmx.de>
4394
4395         * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents 
4396         vertically.  (#109823, Joe Shaw)
4397
4398 2003-07-11  Morten Welinder  <terra@gnome.org>
4399
4400         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
4401         access error.  (#69436)
4402
4403 Fri Jul 11 14:32:43 2003  Kristian Rietveld  <kris@gtk.org>
4404
4405         Landing GtkTreeModelFilter and the completion code. (Test program
4406         and documentation will follow next week).
4407
4408         * gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
4409         gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.
4410
4411         * gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
4412         necessary code to hook up completion.
4413
4414         * gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
4415         GtkCellLayout interface.
4416
4417         * gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.
4418
4419         * gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new
4420         source files.
4421
4422 Wed Jul  9 19:48:26 2003  Kristian Rietveld  <kris@gtk.org>
4423
4424         Merge from stable.
4425
4426         * gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't
4427         directly return from ->window_at_pointer, but set win_x and win_y
4428         first if needed. (Fixes #110166, reported by Arno Charlet).
4429
4430         * gdk/gdkwindow.c (gdk_window_get_composite_drawable): change
4431         function to accept GdkDrawables and not just GdkWindows. This was
4432         already done in some other functions a while back, but this patch
4433         got lost for some reason.
4434
4435 2003-07-09  Matthias Clasen  <maclas@gmx.de>
4436
4437         * gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text
4438         direction when sorting children.  (#116540, Soeren Sandmann)
4439
4440 Tue Jul  8 17:36:21 2003  Owen Taylor  <otaylor@redhat.com>
4441
4442         * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: 
4443         Change _gdk_x11_send_xevent_async() to 
4444         _gdk_x11_send_client_message_async() avoid using Xlib
4445         internals that are different on Solaris. 
4446         (#116917, Morten Welinder)
4447
4448 2003-07-08  Matthias Clasen  <maclas@gmx.de>
4449
4450         * gtk/gtkcontainer.c (gtk_container_remove): Doc addition.
4451         (#116501, Doug Quale)
4452
4453 Tue Jul  8 21:35:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4454
4455         * gtk/gtktoggletoolbutton.h: remove strange #define
4456         * gtk/gtktoolbutton.h: fix cut'n'paste error
4457         * gtk/gtktoolbutton.c (gtk_tool_button_init): use instance
4458         private data
4459         * gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance
4460         private data instead of g_new0()
4461         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use
4462         instance private data
4463
4464 Tue Jul  8 21:10:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4465
4466         * gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK
4467         for INPUT_ONLY window
4468         * gtk/gtkmenuitem.c (gtk_menu_item_realize): same
4469         * gtk/gtknotebook.c (gtk_notebook_realize): same
4470         * gtk/gtkexpander.c (gtk_expander_realize): same
4471         * gtk/gtkrange.c (gtk_range_realize): same
4472
4473         Fix #116303
4474
4475 Tue Jul  8 19:57:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4476
4477         * gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x
4478         when detail is "menuitem". With the new menu look is isn't needed
4479         anymore.
4480
4481         * gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a
4482         resize here, so that tool items will get a chance to relayout
4483         themselves based on the toolbar configuration.
4484
4485         change DEFAULT_SPACE_SIZE to 4 instead of 5
4486
4487         * gtk/gtktoolbar.c 
4488         Get rid of "!GTK_BIN (item)->child means separator". Separators
4489         are widgets in their own right
4490
4491         change DEFAULT_SPACE_SIZE to 4 instead of 5
4492         
4493         (get_space_size): remove this function
4494         (toolbar_item_is_homogeneous): new function
4495
4496         * gtk/gtkseparatortoolitem.c
4497         (gtk_separator_tool_item_size_request): new function.
4498
4499 Tue Jul  8 14:10:35 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4500
4501         * gtk/gtktoggletoolbutton.h: use private data, add new
4502         internal function _gtk_toggle_tool_button_get_button()
4503
4504         * gtk/gtktoolbutton.h: move to private data
4505
4506         * gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new
4507         private data.
4508
4509 Tue Jul  8 12:50:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4510
4511         * gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a
4512         type check, (#116947, Krasimir Angelov)
4513
4514         * gtk/gtktoolbar.c: Use new GtkToolItem accessors.
4515         
4516         * gtk/gtktoolitem.[ch]: Use a private struct to hold the instance
4517         data. Not instance private data yet, because of bug 116921.
4518
4519         * gtk/gtktoolitem.h: new accessors:
4520                 gtk_tool_item_get_homogeneous ()
4521                 gtk_tool_item_get_expand ()
4522                 gtk_tool_item_get_pack_end ()
4523                 gtk_tool_item_get_use_drag_window ()
4524
4525 Mon Jul  7 16:50:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4526
4527         * gtk/gtkcellrenderertext.c
4528         (gtk_cell_renderer_text_class_init): remove accidentally committed
4529         debugging spew
4530
4531         * gtk/gtktoolbar.c
4532         (gtk_toolbar_paint_space_line): remove this function
4533         (gtk_toolbar_expose): always propagate expose, even if the item is
4534         a separator item
4535
4536         * gtk/gtkseparatortoolitem.c
4537         (gtk_separator_tool_item_expose): moved here from gtktoolbar.c
4538         (get_space_size): new function.
4539         (get_space_style): new function
4540
4541 Sun Jul  6 13:00:20 2003  Owen Taylor  <otaylor@redhat.com>
4542
4543         * gtk/gtkdnd.c (_gtk_drag_source_handle_event)
4544         * gtk/gtkdnd.c (gtk_drag_begin_internal):  Remove use
4545         of GDK_POINTER_MOTION_HINT_MASK.
4546
4547         * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating
4548         of the drag into an idle as a superior form of 
4549         expose compression.
4550
4551         * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
4552         creation here, so that we have an icon at the start
4553         of the drag (e.g., when retrieving the window cache
4554         information.)
4555
4556 Sun Jul  6 17:21:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4557
4558         * docs/widget_geometry.txt: better drawing of GtkMenuItem
4559         * docs/widget_geometry.txt: add notes about GtkMenu
4560         * gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h""
4561
4562 Sat Jul  5 10:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4563
4564         * gtk/gtkmenu.c: add vertical_padding style property.
4565         
4566         * gtk/gtkmenuitem.c: add style properties toggle_spacing,
4567         arrow_spacing and horizontal_padding. Also center separators and
4568         make them a bit taller.
4569
4570         * gtk/*menuitem.c: use new style properties.
4571         
4572         * docs/widget_geometry.txt: Add note about GtkMenuItem
4573
4574         * gtk/gtkstyle.c 
4575         (gtk_default_draw_vline, gtk_default_draw_hline):
4576         fix +/-1 errors. 
4577
4578         (gtk_default_draw_shadow): draw a black border around menus.
4579
4580         * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
4581         calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
4582         x2 and y1, y2 respectively, not x, width and y, height).
4583
4584 Sat Jul  5 09:55:38 2003  Owen Taylor  <otaylor@redhat.com>
4585
4586         * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
4587         all the atoms in the target list at once.
4588
4589         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
4590         Local drag short-circuit.
4591
4592         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
4593         local case, poke the actions in directly instead of
4594         going through xdnd_set_actions.
4595
4596         * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
4597         the local case.
4598
4599         * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
4600         XSelectInput()/add a filter if the drag is local.
4601
4602         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): 
4603         Simplify handling of "XdndSelection".
4604
4605         * gdk/x11/gdkevents-x11.c
4606         (gdk_event_send_client_message_to_all_recurse): Somehow,  
4607         a WM_STATE => _NET_WM_STATE change hand been made here.
4608
4609         * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
4610         xatom_names, not atom_names.
4611
4612         * tests/testdnd.c (target_drag_motion): Make the trashcan
4613         open again. (Got lost in deprecation cleanup.)
4614
4615 Sat Jul  5 00:49:32 2003  Owen Taylor  <otaylor@redhat.com>
4616
4617         * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
4618         earlier, so we don't get a big pile of uncompressed
4619         motion events before the grab takes effect.
4620
4621         * gtk/gtkdnd.c (gtk_drag_update_icon): Call 
4622         gdk_window_process_all_updates() so that the area
4623         we are dragging over gets a change to redraw.
4624
4625         * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use 
4626         gdk_window_get_position(), not gdk_window_get_origin().
4627
4628         * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
4629         gdkdisplay-x11.h: use XShapeQueryExtension to 
4630         avoid duplicate XQueryExtension when we actually
4631         use it. Remove unnecessary caching in GdkDisplayX11.
4632
4633 Fri Jul  4 23:49:22 2003  Owen Taylor  <otaylor@redhat.com>
4634
4635         * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): 
4636         Function to get a range of information about all the
4637         children of a window in a single pass.
4638
4639         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
4640         gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
4641         _gdk_x11_get_window_child_info() to greatly reduce
4642         the number of roundtrips.
4643
4644 Fri Jul  4 22:57:18 2003  Owen Taylor  <otaylor@redhat.com>
4645
4646         * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
4647         a function to XSendEvent() and call a calback on
4648         failure/success.
4649
4650         * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
4651         messages to the same process, use _gdk_send_xevent_async().
4652
4653 Fri Jul  4 22:26:27 2003  Owen Taylor  <otaylor@redhat.com>
4654
4655         * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
4656         toplevel-specific pieces of GdkWindowImplX11 into
4657         a separate GdkToplevelX11 structure.
4658
4659 Fri Jul  4 22:05:09 2003  Owen Taylor  <otaylor@redhat.com>
4660
4661         * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
4662         some leftover fields.
4663
4664 Fri Jul  4 15:57:52 2003  Owen Taylor  <otaylor@redhat.com>
4665
4666         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
4667         Use asynchronously _gdk_x11_set_input_focus_safe
4668         to avoid having to trap errors and XSync().
4669
4670         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
4671         _gdk_x11_set_input_focus_safe() here as well.
4672
4673         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
4674         Rework handling of property notifies on _NET_WM_STATE
4675         so that we ignore _NET_WM_DESKTOP notifies unless we
4676         really care.
4677
4678         * gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
4679         XShmQueryExtension() rather than XQueryExtension() to
4680         avoid extra rountrip.
4681
4682         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
4683         Remove unused call to XGetWindowAttributes()
4684         
4685         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
4686         unused call to XGetKeyboardControl().
4687
4688         * gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
4689         Add (#99571)
4690
4691         * gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c 
4692         No-op implementations of gdk_display_flush().
4693
4694         * gdk/gdkwindow.c (gdk_window_process_all_updates): Use
4695         gdk_display_flush() rather than gdk_flush() to avoid
4696         XSync().
4697         
4698         * gdk/x11/gdkwindow-x11.c (update_wm_hints)
4699         gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
4700         so that we don't have to get the property back from the server.
4701
4702         * gdk/x11/gdkwindow-x11.c (show_window_internal): Store
4703         the serial of when we map a toplevel to allow optimizing
4704         out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.
4705
4706         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
4707         XTranslateCoordinates() for override-redirect windows.
4708
4709 Fri Jul  4 15:59:27 2003  Owen Taylor  <otaylor@redhat.com>
4710
4711         * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
4712         about setting window group after the window is mapped from docs
4713         - nothing the ICCCM forbids that.
4714
4715         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
4716         Fix g_return_val_if_fail() in void return function.
4717
4718         * configure.in: Fix misplaced comma that was resulting
4719         in XShm always being disabled.
4720
4721 Fri Jul  4 19:55:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4722
4723         * tests/stresstest-toolbar: remove this accidentally committed
4724         file.
4725         
4726         * tests/stresstest-toolbar.c: really add this new test
4727
4728 Fri Jul  4 19:06:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4729
4730         * tests/stresstest-toolbar.c: new test for removing items
4731         
4732         * tests/testtoolbar.c: add a popup menu
4733
4734         * gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid
4735           assert widget->parent == container when the container is a
4736           toolbar.
4737
4738         * gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much
4739         simpler. Also make correct.
4740
4741         * gtk/gtktoolbar.c (gtk_toolbar_button_press): make
4742         popup_context_menu a boolean handled signal.
4743
4744 2003-07-04  Tor Lillqvist  <tml@iki.fi>
4745
4746         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon,
4747         gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate
4748         the width and height of the bounding rectangle only after the
4749         minumum x and y have been found, and need a separate loop for
4750         it. Thanks to Bruce Hochstetler for providing a sample program
4751         exhibiting the bug.
4752
4753 2003-07-03  Tor Lillqvist  <tml@iki.fi>
4754
4755         * gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
4756         (#116537, Peter Zelezny)
4757
4758 Thu Jul  3 03:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4759
4760         * gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to
4761         fix warning. Assign something to old_value to quiet gcc
4762
4763         * gtk/gtkcalendar.c 
4764         (start_spinning): gtk_timeout_add->g_timeout_add
4765
4766         * gtk/gtkicontheme.c 
4767         (theme_lookup_icon): Make it compile (remove double semicolon)
4768
4769         * gtk/gtktoolbutton.c
4770         (gtk_tool_button_class_init): Long comment about properties.
4771         (gtk_tool_button_class_init): Improve text for "use_underline"
4772         property
4773         (gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based
4774         on whether the passed-in label has use_mnemonic set
4775         (gtk_tool_button_create_menu_proxy): Split image cloning out in
4776         new function. Make that function also handle image with pixbuf
4777         storage.
4778         (gtk_tool_button_construct_contents): Use gtk_widget_destroy()
4779         instead of gtk_container_remove().
4780         (gtk_tool_button_construct_contents): Fix eliding bug
4781
4782         * gtk/gtktoolbar.c
4783         (gtk_toolbar_finalize): New function. Unref tooltips, pointed out
4784         by Morten Welinder
4785         (gtk_toolbar_button_press): Make popup_context_menu signal provide
4786         coordinates and button number
4787
4788         * tests/testtoolbar.c (main): Add new pixbuf toolbutton
4789
4790         * tests/apple-red.png: new file
4791
4792 Wed Jul  2 18:00:56 2003  Owen Taylor  <otaylor@redhat.com>
4793          
4794         * gtk/gtkicontheme.[ch]: Implement a loader for
4795         named themed icon based on from gnome-desktop library
4796         by Alex Larsson.
4797
4798         * gtk/gtkiconthemeparser.[ch]: .ini file parsing code
4799         from gnome-desktop.
4800
4801         * gtk/gtkiconfactory.[ch]: Add
4802         gtk_icon_source_set/get_icon_name() to allow stock icons
4803         to be based off of named theme icons.
4804
4805         * gtk/gtkiconfactory.c: Rework sources so that the source
4806         is *either* a pixbuf, or a filename, or an icon name,
4807         instead of the pixbuf/filename mix it was before. Put a
4808         workaround for get_pixbuf() so that it can return the
4809         filename pixbuf, e.g, for render_icon().
4810
4811         * gtk/gtkiconfactory.c: Make the default setup use
4812         themed icons, and add builtin icons to the default
4813         icon theme for all the standard pixbufs, so we
4814         don't rely on actually having an icon theme on disk.
4815
4816         * gtk/gtkrc.c: Add support for @"icon-name" to specify
4817         a themed icon for a stock icon source.
4818
4819         * tests/Makefile.am test/testicontheme.c: Add a test
4820         program from gnome-desktop.
4821
4822         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
4823         Net/IconThemeName / gtk-icon-theme-name setting.
4824
4825         * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
4826         update the icon cache serial so we don't continually
4827         think we are out-of-date.
4828
4829         * gtk/gtkwidget.c: Fix a couple of references in doc comments 
4830         to ::direction_set that should have been to ::direction-changed
4831
4832 Wed Jul  2 14:45:41 2003  Owen Taylor  <otaylor@redhat.com>
4833
4834         * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the
4835         style to the widget.
4836
4837 Wed Jul  2 15:42:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4838
4839         * gtk/gtk.h: Add new toolbar headers
4840
4841         * tests/testtoolbar.c: new file
4842
4843         * tests/Makefile.am (noinst_PROGRAMS): Add testtoolbar.c
4844
4845         * gtk/gtkexpander.c (gtk_expander_class_init): Make it compile
4846
4847 Tue Jul  1 22:49:25 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4848
4849         * gtk/gtktoolbar.c:
4850         (gtk_toolbar_remove_tool_item): Fix bug where list is changed
4851         inside a for loop (pointed out by Morten Welinder).
4852         (gtk_toolbar_focus_home_or_end): Minor formatting change
4853
4854         Comments from Owen:
4855
4856         * gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use
4857         gtk_toolbar_elide_underscores instead.
4858
4859         * gtk/gtktoolbar.c: rename signal from focus_ends to
4860         focus_home_or_end.
4861         (_gtk_toolbar_elide_underscores): export this as an internal
4862         function.
4863         (gtk_toolbar_move_focus): add comment explaining difference to
4864         gtk_toolbar_focus();
4865         (gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and
4866         TAB_BACKWARD focus the right widgets in RTL mode
4867
4868         * gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take
4869         "label" and "icon" parameters
4870
4871         * gtk/gtktoolbutton.[ch]: remove icon_set property.
4872
4873 2003-07-01  Matthias Clasen  <maclas@gmx.de>
4874
4875         * gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs.
4876         (116364, Morten Welinder) 
4877
4878         * tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the
4879         corresponding dialogs.
4880
4881         * gtk/Makefile.am (gtk_public_h_sources): Add gtkfontbutton.h,
4882         gtkcolorbutton.h.  
4883         (gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. 
4884
4885         * gtk/gtkfontbutton.[hc]: New files containing a font picker widget. 
4886
4887         * gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. 
4888
4889         * gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h.
4890
4891         * gtk/gtkexpander.c: Small additions to the docs. 
4892
4893 2003-07-01  Tor Lillqvist  <tml@iki.fi>
4894
4895         * gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
4896         WindowFromPoint() wants screen coordinates (#115422, Tim Evans).
4897
4898 2003-07-01  Matthias Clasen  <maclas@gmx.de>
4899
4900         * configure.in: Check for Xcursor.
4901         
4902         * gdk/x11/gdkcursor-x11.c:
4903         * gdk/gdkdisplay.h: 
4904         * gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
4905         gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), 
4906         gdk_display_supports_cursor_color(),
4907         gdk_display_get_default_cursor_size() and 
4908         gdk_display_get_maximal_cursor_size().  (#69436)
4909
4910 2003-06-30  Tor Lillqvist  <tml@iki.fi>
4911
4912         * gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function,
4913         callback proc for EnumWindows().
4914         (gdk_drag_find_window_for_screen): Actually take the drag_window
4915         argument into account: Instead of using WindowFromPoint(), use
4916         EnumWindows(), to be able to skip the drag_window. (#116320, Tony
4917         M Brown, Herman Bloggs)
4918
4919         * gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and
4920         gdk_window_ref()/unref() calls with g_object_ref()/unref().
4921         Consistently use %p format in debugging output of pointers and
4922         HANDLEs.
4923
4924 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
4925
4926         * gtk/gtkexpander.h: kill some stray characters
4927         breaking the build.
4928
4929 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
4930
4931         Add GtkExpander. See discussion in bug #60553.
4932
4933         * gtk/gtkexpander.[ch]: add.
4934         
4935         * gtk/Makefile.am: build gtk-expander.[ch].
4936         
4937         * docs/widget_geometry.txt: add info on the layout
4938         of GtkExpander.
4939
4940 Mon Jun 30 01:20:19 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
4941
4942         * gtkradiotoolbutton.c:         new file
4943         * gtkradiotoolbutton.h:            "
4944         * gtktoggletoolbutton.c:           "
4945         * gtktoggletoolbutton.h:           "
4946         * gtktoolbutton.c:                 "
4947         * gtktoolbutton.h:                 "
4948         * gtktoolitem.c:                   "
4949         * gtktoolitem.h:                   "
4950         * gtktoolbar.c: many changes
4951         * gtktoolbar.h: many changes
4952         * gtkseparatortoolitem.c:       new file
4953         * gtkseparatortoolitem.h           "
4954
4955         New toolbar.
4956         
4957         - Items on a toolbar are now separate widgets, instances of a
4958           subclass of GtkToolItem.
4959
4960         - Items there aren't room for on the toolbar are unmapped, and an
4961           overflow menu with a proxy menu item is added instead.
4962
4963         - The toolbar is keyboard navigatable. Press TAB to focus the
4964           first item, then use arrow keys and Ctrl TAB to move around the
4965           toolbar. TAB moves focus out of the toolbar.
4966
4967         - Bascially all of the old toolbar API is deprecated in favor of
4968           new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h
4969
4970         - The toolbar is backwards compatible with the old toolbar.
4971
4972 2003-06-29  Matthias Clasen  <maclas@gmx.de>
4973
4974         * gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter
4975         from docs, some more formatting fixes. 
4976
4977 2003-06-28  Tor Lillqvist  <tml@iki.fi>
4978
4979         Fix for #111028, thanks to J. Ali Harlow, who writes:
4980         I found that the GdkPixmap->GdkImage reference really isn't
4981         important. It's only really there to have somewhere convenient to
4982         store the location of the pixel data in the pixmap and as an easy
4983         way of accessing the dimensions of that data. I have therefore put
4984         together a fix which removes this reference entirely which seems
4985         to solve the problem.
4986
4987         * gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32):
4988         Instead of a pointer to a GdkImage, keep a pointer to the pixels
4989         directly.
4990
4991         * gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove.
4992         (_gdk_win32_new_image): New function, replacing the above. Creates
4993         a GdkImage without any associated GdkPixmap.
4994         (gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead.
4995
4996         * gdk/win32/gdkprivate-win32.h: Remove from here, too.
4997
4998         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap)
4999         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap)
5000         * gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn)
5001         * gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description):
5002         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize,
5003         gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new)
5004         Corresponding changes.
5005
5006 Thu Jun 26 21:41:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5007
5008         * gtk/gtktreeviewcolumn.c
5009         (gtk_tree_view_column_cell_set_cell_data): only set "is_expander"
5010         and "is_expanded" if the new value is different fromt he old one.
5011
5012 Wed Jun 25 18:59:15 BST 2003  Tony Gale <gale@gtk.org>
5013
5014         * docs/faq/gtk-faq.sgml: Fix typos. Update
5015         thread example I missed yesterday.
5016
5017 2003-06-24  Matthias Clasen  <maclas@gmx.de>
5018
5019         * gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for
5020         shadow_type. 
5021
5022         * gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): 
5023         (gtk_widget_class_list_style_properties): Use same parameter names as in  
5024         header (to silence gtk-doc).
5025
5026         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments.
5027
5028 Tue Jun 24 20:00:45 BST 2003  Tony Gale <gale@gtk.org>
5029
5030         * docs/faq/gtk-faq.sgml: Thread support updates
5031         from Owen. Various suggestions from Steve Chaplin.
5032
5033 2003-03-24  Mohammad DAMT  <mdamt@bisnisweb.com>
5034
5035         * po/id.po: Updated Indonesian translation
5036
5037 2003-06-21  Tor Lillqvist  <tml@iki.fi>
5038
5039         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When
5040         emulating X11's automatic grab on button down, pass owner_events
5041         as FALSE. According to the XLib spec, automatic grabs use True for
5042         owner_events when OwnerGrabButtonMask is selected, and I don't see
5043         the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271)
5044         (find_window_for_pointer_event): Improve debugging output.
5045
5046 2003-06-17  Tor Lillqvist  <tml@iki.fi>
5047
5048         * gtk-zip.sh.in (DLLDIR): Look for DLLs also in the bin
5049         subdirectory, where libtool 1.5 installs them.
5050
5051         * README.win32: Point to FSF's binary Win32 distribution of
5052         gettext-runtime.
5053
5054 2003-06-17  Matthias Clasen  <maclas@gmx.de>
5055
5056         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
5057         macros to check for XML catalog contents and path, borrowed from
5058         gtk-doc. 
5059         * configure.in: New option --enable-man to enable regeneration of
5060         man pages from Docbook, if the necessary tools are found.
5061
5062 2003-06-15  Matthias Clasen  <maclas@gmx.de>
5063
5064         * gtk/gtkcalendar.c (gtk_calendar_class_init): 
5065         * gtk/gtknotebook.c (gtk_notebook_class_init): 
5066         * gtk/gtkalignment.c (gtk_alignment_class_init): 
5067         * gtk/gtkpaned.c (gtk_paned_class_init): Document new properties
5068         as 2.4 additions.
5069
5070         * gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs 
5071         to the proper place, immediately before the g_signal_new() call.
5072
5073         * gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags 
5074         more obvious.  (#115122, Jeff Franks)
5075
5076 2003-06-12  Anders Carlsson  <andersca@codefactory.se>
5077
5078         * gtk/gtkwidget.c: (event_window_is_still_viewable):
5079         Special case pixmaps. (#114880)
5080         
5081 2003-06-12  Matthias Clasen  <maclas@gmx.de>
5082
5083         * gtk/gtkwidget.c: Document child-notify and drag-data-received
5084         signals. Owen, we need to figure out where the best place for
5085         these comments in the source is. I currently put them in front of
5086         the signals enum.
5087
5088 2003-06-11  Matthias Clasen  <maclas@gmx.de>
5089
5090         * gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/.
5091
5092 Thu Jan 12 01:01:19 2003  Kristian Rietveld  <kris@gtk.org>
5093
5094         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
5095         silly typo fix. s/seperator/separator/. This gets rid of the
5096         assert spam when using TreeView.
5097
5098 Tue Jun 10 11:23:48 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5099
5100         * modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
5101         function for XIM instantiate callback.
5102         * modules/input/gtkimcontextxim.c (xim_info_try_im): New function
5103         where call to XOpenIM() or XRegisterIMInstantiateCallback() is
5104         actually made.
5105         * modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
5106         for XIM's destroy callback.
5107         * modules/input/gtkimcontextxim.c (get_im): add a check if info->im 
5108         is set or not - if it's not set, call xim_info_try_im() to try to
5109         initiaize it.
5110         * modules/input/gtkimcontextxim.c (reinitialize_ic): reset
5111         filter_key_release flag of the context.
5112         * modules/input/gtkimcontextxim.c (get_ic_real): removed
5113         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
5114         code from the removed get_ic_real().
5115
5116         For XIM instantiation, destruction and re-instantiation. With
5117         this, Gtk+ apps will be able to connect or reconnect to the XIM,
5118         when it starts after the apps, or when the XIM gets lost and recover.
5119         (#113099, #107782).
5120
5121 Mon Jun 10 01:12:31 2003  Kristian Rietveld  <kris@gtk.org>
5122
5123         Merged from stable.
5124
5125         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size):
5126         check if width is !null, not *width. Doh.
5127
5128 Tue Jun 10 01:09:33 2003  Kristian Rietveld  <kris@gtk.org>
5129
5130         Merged from stable.
5131
5132         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
5133         Remove the weird dx logic, get all cell_area and background_area
5134         calculations right. Not sure what was up with it before. (Fixes
5135         #110989, testcase from Vasco Alexandre da Silva Costa).
5136
5137 Tue Jun 10 00:58:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5138
5139         * tests/testgtk.c: Make it compile with C89 compilers
5140
5141 2003-06-10  Matthias Clasen  <maclas@gmx.de>
5142
5143         * gtk/gtktextview.c (gtk_text_view_class_init): Install boolean
5144         property "overwrite".
5145         (gtk_text_view_[gs]et_property): Handle "overwrite".
5146         * gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter
5147         and setter for "overwrite" property.  (#110241, Jeroen Zwartepoorte)
5148
5149 2003-06-09  Matthias Clasen  <maclas@gmx.de>
5150
5151         * gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child
5152         properties "resize" and "shrink".
5153         (gtk_paned_[gs]et_child_property): Implementations of 
5154         GtkContainer::[gs]et_child_property.  
5155         * tests/testgtk.c (toggle_resize, toggle_shrink): Use the new
5156         paned child properties instead of remove/add hacks.  (#114667, 
5157         Soeren Sandmann) 
5158
5159 Mon Jun  9 16:18:11 2003  Owen Taylor  <otaylor@redhat.com>
5160
5161         * gtk/gtknotebook.c (gtk_notebook_button_press): Back
5162         out event->window test - it wasn't needed because
5163         of the call to get_widget_coordinates().
5164
5165         * gtk/gtknotebook.c (gtk_notebook_button_press): Remove
5166         call to gtk_widget_grab_focus() when not clicking on
5167         any tabs. (Real fix for #114534)
5168
5169 Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>
5170
5171         * tests/testdnd.c: Use application/x-rootwindow-drop for
5172         root window drops. (#108670, Alex Larsson)
5173
5174         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): 
5175         Accept either application/x-rootwin-drop (what GTK+ has always used)
5176         or application/x-rootwindow-drop (what the XDND standard specifies).
5177
5178 Fri Jun  6 11:07:33 2003  Owen Taylor  <otaylor@redhat.com>
5179
5180         * gtk/gtkwidget.c (event_window_still_viewable): 
5181         Before delivering an event to a widget, check that
5182         (if relevant), the event's window is still viewable.
5183         (#105642, Dennis Björklund)
5184
5185         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): 
5186         NULL out private->parent, since after destruction
5187         it might not be valid any more.
5188
5189         * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
5190         accesses before g_return_val_if_fail(). Treat 
5191         DESTROYED windows as unmapped.
5192
5193 Thu Jun  5 09:28:03 2003  Owen Taylor  <otaylor@redhat.com>
5194
5195         * gtk/gtkentry.c: Recompute unconditionally in
5196         gtk_entry_style_set, and in a new gtk_label_screen_changed().
5197         Protect the guts of recompute_idle_func() with
5198         gtk_widget_has_screen(). (#114040, Morten Welinder) 
5199         Fix FALSE/0 confusion.
5200         
5201 Sun Jun  8 18:27:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5202
5203         * gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
5204         Fixes (#114669)
5205
5206 Sun Jun  8 11:27:29 2003  Owen Taylor  <otaylor@redhat.com>
5207
5208         * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with 
5209         set_adjustment (viewport, NULL);
5210
5211 2003-06-07  Matthias Clasen  <maclas@gmx.de>
5212
5213         * gtk/gtkiconfactory.c (get_default_icons): 
5214         * gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png:
5215         * gtk/stock-icons/Makefile.am: Add rtl variants of undo, redo,
5216         undelete and revert.  (#96633)
5217         
5218 Fri Jun  6 16:25:44 2003  Owen Taylor  <otaylor@redhat.com>
5219
5220         * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and 
5221         refactoring of code to reduce duplication; fixes include:
5222
5223         - gtk_viewport_realize(): Position the window correct from adjustment 
5224         values. (#110737, Michael Natterer)
5225
5226         - Remove some division-by-zero checks in places where there is no 
5227         longer division. (#110737)
5228
5229         - gtk_viewport_class_init: Make the hadjustment/vadjustment properties 
5230         G_PARAM_CONSTRUCT, so that there will always be adjustments, even 
5231         if gtk_viewport_new isn't used (#101135, Thomas Leonard).
5232
5233         - Switch over to encapsulated lazy-creation for hadjustment/
5234         vadjustment; even with the CONSTRUCT property, we need this after
5235         destroy.
5236
5237         - When updating the adjustment, immediate set their values to
5238         match the the current range of the viewport, and update the 
5239         viewport position to match the value of the new adjustments. 
5240         (Part of #1165)
5241
5242 2003-06-06  Tor Lillqvist  <tml@iki.fi>
5243
5244         * gdk/win32/gdkprivate-win32.h: Fix typo.
5245
5246         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
5247         graphics_exposures and subwindow_mode, too, even if they aren't
5248         currently used.
5249
5250 Fri Jun  6 23:38:23 2003  Kristian Rietveld  <kris@gtk.org>
5251
5252         Merged from stable.
5253
5254         * gtk/gtktreeview.c (do_expand_collapse),
5255         (expand_collapse_timeout), (cancel_arrow_animation): made
5256         expand_collapse_timeout a wrapper with locks around     
5257         do_expand_collapse, made cancel_arrow_animation use
5258         do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
5259         Peter Bloomfield).
5260
5261 Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5262
5263         * modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
5264         * modules/input/gtkimcontextxim.c (preedit_start_callback,
5265         preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag 
5266         to keep preedit-[start,changed,end] signals from being called during
5267         finalization (#111861).
5268
5269 2003-06-05  Noah Levitt  <nlevitt@columbia.edu>
5270
5271         * gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button
5272         presses that are not on the tab (#114534).
5273
5274 Thu Jun  5 20:35:40 2003  Owen Taylor  <otaylor@redhat.com>
5275
5276         * demos/Makefile.am: Conditionalize dependencies for
5277         gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe). 
5278         Buildtest-inline-pixbufs.h in srcdir. Don't try to build 
5279         test-inline-pixbufs.h if we don't have libpng.
5280
5281         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): 
5282         Add a dependency on gdk-pixbuf.loaders when not 
5283         cross-compiling, remove the dependency on gdk-pixbuf-csource
5284         when not cross compiling.
5285
5286 Thu Jun  5 20:12:51 2003  Owen Taylor  <otaylor@redhat.com>
5287
5288         * gtk/gtkwindow.c (gtk_window_get_default_size): Handle
5289         gtk_window_get_geometry_info() returning NULL.
5290         (#107311, John Finlay)
5291
5292 Thu Jun  5 19:24:33 2003  Owen Taylor  <otaylor@redhat.com>
5293
5294         * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off
5295         twice the border width from the width/height, not
5296         1x the border width. (#106336, Rodney Dawes)
5297
5298 Thu Jun  5 15:33:38 2003  Owen Taylor  <otaylor@redhat.com>
5299  
5300         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5301         If at the end of the buffer, move to the end iter -
5302         parallels behavior of move_iter_to_previous_line.
5303         (#81960, Padraig O'Briain)
5304  
5305 Thu Jun  5 16:12:54 2003  Owen Taylor  <otaylor@redhat.com>
5306
5307         #80023, Yao Zhang, TOKUNAGA Hiroyuki
5308
5309         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
5310         Account for the preedit cursor offset if the iter passed
5311         in is at the same place as the insertion cursor.
5312
5313         * gtk/gtktextview.c (gtk_text_view_get_cursor_location):
5314         Encapsulate getting the insertion cursor location.
5315
5316         * gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
5317         Pass the real y/height to the IM context. Take 
5318         text_view->x/yoffset into account.
5319
5320 Thu Jun  5 16:52:54 2003  Owen Taylor  <otaylor@redhat.com>
5321
5322         * gtk/gtktextview.[ch]: Never scroll on focus in
5323         (#81893, Patch from Paolo Maggi)
5324
5325         * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): 
5326         Scroll to the current cursor location before handling
5327         the action, in case the user just tabbed in
5328         and the cursor is offscreen.
5329
5330 Thu Jun  5 17:20:40 2003  Owen Taylor  <otaylor@redhat.com>
5331          
5332          #107883, Gustavo Giráldez
5333
5334         * gtk/gtktextlayout.c (gtk_text_layout_emit_changed):
5335         Split out the case where we know we changed, and 
5336         already dealt with our cached line being invalidated
5337         from external calls to gtk_text_layout_changed.
5338
5339         * gtk/gtktextlayout.c (gtk_text_layout_changed):
5340         Check if the invalidate yrange intersects our
5341         cached line, and clear it if necessary.
5342
5343 2003-06-05  Tor Lillqvist  <tml@iki.fi>
5344
5345         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
5346         filters.
5347
5348 2003-06-05  Matthias Clasen  <maclas@gmx.de>
5349
5350         * gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson:
5351         (gtk_text_view_grab_notify): 
5352         (gtk_text_view_state_changed): Implement these
5353         to unobscure cursor when grab shadowed or insensitised.
5354         (gtk_text_view_unobscure_mouse_cursor): New function to undo the
5355         effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
5356         gtk_text_view_motion_event().
5357         (gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().
5358
5359         * gtk/gtktextview.c (select_all): New keybinding signal for
5360         (un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)
5361
5362         * gtk/gtkcalendar.c (calendar_timer): 
5363         (stop_spinning): Replace deprecated gtk_timeout_* functions by
5364         their GLib counterparts.  (#114429)
5365
5366         * gtk/gtktreestore.c (gtk_tree_store_new): 
5367         * gtk/gtkliststore.c (gtk_list_store_new): Document restriction on 
5368         types.
5369
5370 Wed Jun  4 19:42:17 2003  Owen Taylor  <otaylor@redhat.com>
5371
5372         * gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
5373         When drawing underlines, join up adjacent runs
5374         where possible, so we don't get changes in 
5375         shaper/font/etc. breaking underlines. (#103662,
5376         Kang Jeong-Hee)
5377
5378 Wed Jun  4 19:22:58 2003  Jonathan Blandford  <jrb@redhat.com>
5379
5380         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
5381         Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
5382         improve the speed of inserting rows into an already sorted list,
5383         #109292
5384
5385 Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>
5386
5387         * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
5388         track of when we have a clip mask set for the GC,
5389         and when we unset it, or switch to a clip region,
5390         immediately call XSetClipMask (..., None) to avoid
5391         Xlib caching stale data. (#111806)
5392
5393         * gtk/gtktextdisplay.c: Don't set a clip mask
5394         when drawing alpha pixmaps; it isn't necessary any more.
5395         (#111806)
5396
5397 Wed Jun  4 18:27:44 2003  Owen Taylor  <otaylor@redhat.com>
5398
5399         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): 
5400         gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): 
5401         Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE
5402         (#92548, Tim Evans)
5403
5404         * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
5405         gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
5406         Use state_type = STATE_INSENSITIVE for insensitive menu items.
5407
5408 Wed Jun  4 21:25:35 2003  Kristian Rietveld  <kris@gtk.org>
5409
5410         Merged from stable.
5411
5412         * gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
5413         assert for get_info. (reported by Michael Natterer),
5414         (gtk_tree_view_expand_all_emission_helper),
5415         (gtk_tree_view_expand_all_helper): emit row_expanded for all
5416         expanded rows during an _expand_all operation. (Fixes #111280,
5417         reported by Benjamin Bayart).
5418
5419 Tue Jun  3 18:32:30 2003  Owen Taylor  <otaylor@redhat.com>
5420
5421         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
5422         respond to pings on a root window; prevents infinite
5423         loops if we are selecting for SubstructureNotify on the
5424         root window. (#111945, Sergey V. Udaltsov)
5425
5426 Tue Jun  3 17:39:16 2003  Owen Taylor  <otaylor@redhat.com>
5427
5428         #71597, reported by Morten Welinder
5429
5430         * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
5431         (Patch from Christian Petig)
5432
5433         * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
5434         Major rewrite of 555 and 565 conversion routines:
5435
5436         - Move all the bit shifting into a small block of macros,
5437           eliminating much duplication of complicated arithmetic.
5438         - Get rid of 2-pixels at a time code, which was buggy,
5439           hard to maintain, caused unaligned accesses, and
5440           probably didn't actually perform any better.
5441         - Simplify cases where different data types were
5442           used for the little and big endian cases, use
5443           GUINT16_SWAP_LE_BE() where appropriate.
5444                 
5445 Tue Jun  3 15:05:47 2003  Owen Taylor  <otaylor@redhat.com>
5446
5447         * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
5448         bad optimization for src_rowstride == dest_stride.
5449         (Didn't consider the case where we were copying only
5450         partial widths of a wider source buffer)
5451         (#113034, reported by Hans Petter Jansson)
5452
5453 2003-06-03  Michael Natterer  <mitch@gimp.org>
5454
5455         * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
5456         reenabled button_release events for xinput devices. (#113948)
5457
5458 2003-06-03  Christian Rose  <menthos@menthos.com>
5459
5460         * configure.in: Added "li" to ALL_LINGUAS.
5461
5462 Mon Jun  2 18:58:54 2003  Owen Taylor  <otaylor@redhat.com>
5463
5464         * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
5465         map the event window if the notebook isn't mapped. (#113980,
5466         Richard Reich)
5467
5468 2003-06-02  Sven Neumann  <sven@gimp.org>
5469
5470         * gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.
5471
5472         * gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.
5473
5474 2003-06-01  Matthias Clasen  <maclas@gmx.de>
5475
5476         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add 
5477         Since: 2.4 to the docs.
5478
5479         * gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and
5480         an example to the docs.  (#98427)
5481
5482 2003-05-30  Murray Cumming  <murrayc@usa.net>
5483
5484         * gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with
5485         gtk_alignment_get_padding() and gtk_aligment_set_padding(). This
5486         uses the new private data system - see g_type_class_add_private() in
5487         gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE().
5488
5489 2003-05-30  Matthias Clasen  <maclas@gmx.de>
5490         
5491         * gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the
5492         signature of gtk_notebook_draw_arrow() for Solaris builds to go
5493         through.  (#114043, Anand Subramanian)
5494
5495 Thu May 29 18:30:35 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5496
5497         * modules/input/imipa.c: 
5498         use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).
5499
5500 Thu May 29 18:08:01 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5501
5502         * gtk/gtkimmodule.c (_gtk_im_module_list):
5503         use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
5504
5505 Thu May 29 09:34:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5506
5507         * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default"
5508         label of default input method localizable.
5509         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): 
5510         use translations of input method context names
5511         * modules/input/imam-et.c, modules/input/imcyrillic-translit.c,
5512           modules/input/iminuktitut.c, modules/input/imthai-broken.c,
5513           modules/input/imti-er.c, modules/input/imti-et.c
5514           modules/input/imviqr.c, modules/input/imxim.c
5515         use GETTEXT_PACKAGE instead of "gtk+" for domain name.
5516         (#113850).
5517
5518 Thu May 29 18:23:01 2003  Kristian Rietveld  <kris@gtk.org>
5519
5520         Merged from stable.
5521
5522         * gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
5523         grab separate, the user might clear the tree in the focus-in
5524         callback. (Fixes #113086, testcase from Felipe Heidrich).
5525
5526 Thu May 29 18:06:26 2003  Kristian Rietveld  <kris@gtk.org>
5527
5528         Merged from stable.
5529
5530         * gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
5531         of row reference when we unset the model. Also reset
5532         dy and top_row_dy. (Fixes #109289, patch from Owen Taylor).
5533
5534 Thu May 29 17:12:19 2003  Kristian Rietveld  <kris@gtk.org>
5535
5536         Merged from stable.
5537
5538         * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
5539         the current editing, if it exists. (Fixes #108956, reported by
5540         Michael Natterer).
5541
5542 Thu May 29 17:06:09 2003  Kristian Rietveld  <kris@gtk.org>
5543
5544         Merged from stable.
5545
5546         * gtk/gtktreeview.c (check_selection_helper): new function,
5547         (gtk_tree_view_row_deleted): traverse the tree from the
5548         deleted node to see whether the selection changed, instead of
5549         just checking this node. (Fixes #107400, reported by 'Duncan').
5550
5551 Thu May 29 16:31:34 2003  Kristian Rietveld  <kris@gtk.org>
5552
5553         Merged from stable.
5554
5555         * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
5556         (gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
5557         instead of _maybe_begin_dragging_row, so the icon can be
5558         overridden by apps. (Fixes #104374, patch from Daniel Elstner).
5559
5560 Thu May 29 16:14:04 2003  Kristian Rietveld  <kris@gtk.org>
5561
5562         Merged from stable.
5563
5564         * gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
5565         cell_area x/width for the expander if needed. (Fixes #101748,
5566         reported by Dave Cook and Mariano Suarez-Alvarez).
5567
5568 Thu May 29 16:01:38 2003  Kristian Rietveld  <kris@gtk.org>
5569
5570         Merged from stable.
5571
5572         * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
5573         if tree/node are still the same after _internal_select_node.
5574         (Fixes #92256, reported by edscott).
5575
5576 Thu May 29 15:38:30 2003  Kristian Rietveld  <kris@gtk.org>
5577
5578         Fixes #75745, reported by Richard Hult. Merged from stable.
5579
5580         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
5581         GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
5582         cursor or not.
5583
5584         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
5585         if we are rendering a cursor row, and the cell the be
5586         processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
5587         flag (else we unset it).
5588
5589 2003-05-27  Matthias Clasen  <maclas@gmx.de>
5590
5591         * gtk/gtkwindow-decorate.c: 
5592         * gtk/gtktreeprivate.h: 
5593         * gtk/gtkdnd.c: 
5594         * gdk/win32/gdkwindow-win32.h: 
5595         * gdk/linux-fb/gdkprivate-fb.h: 
5596         * gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
5597         unspecified signedness.  (#112919, Morten Welinder)
5598
5599         * gtk/queryimmodules.c (escape_string): 
5600         * gtk/gtktextbtree.c (_gtk_text_btree_get_text): 
5601         * gtk/gtksettings.c (_gtk_settings_parse_convert): 
5602         * gtk/gtkrc.c (gtk_rc_parse_assignment): 
5603         * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): 
5604         * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all 
5605         occurances of g_string_new ("") by g_string_new (NULL). (#106975,
5606         Morten Welinder) 
5607
5608 2003-05-27  Tor Lillqvist  <tml@iki.fi>
5609
5610         * gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
5611         files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.
5612
5613         * gdk/Makefile.am: libgdk-win32-2.0.la depends on
5614         win32/libgdk-win32.la.
5615
5616         * gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
5617
5618 Sat May 24 22:19:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
5619
5620         * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum
5621         scrollbar slider length 21 instead of 7.
5622
5623 2003-05-23  Matthias Clasen  <maclas@gmx.de>
5624
5625         * gtk/gtknotebook.c: Add support for up to four scroll
5626         arrows. Control their display by new style properties
5627         "has_forward_stepper", "has_backward_stepper",
5628         "has_secondary_forward_stepper" and
5629         has_secondary_backward_stepper". (#110540)
5630
5631         * gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and
5632         click_child three bits wide, add
5633         has_{before,after}_{previous,next} fields.
5634
5635         * gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
5636         focus out of hex_entry.  (#112665)
5637         (hex_focus_out): New signal handler for focus out of hex entry.
5638
5639 Wed May 21 19:01:06 2003  Owen Taylor  <otaylor@redhat.com>
5640
5641         * gtk/gtkwidget.c (gtk_widget_realize): 
5642         g_return_if_fail() if
5643         GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget).
5644         (#107872, Christian Reis)
5645
5646 2003-05-22  Matthias Clasen  <maclas@gmx.de>
5647
5648         * gtk/gtkfilesel.c (gtk_file_selection_create_dir): 
5649         (gtk_file_selection_rename_file): Some keynav improvements for the
5650         "Rename File" and "Create Directory" subdialogs: Enter in entry
5651         activates default, default is "Create"/"Rename", Escape cancels
5652         dialog.  (#113110)
5653         (gtk_file_selection_set_filename): Add a hint about opening 
5654         directories.  (#113175)
5655
5656 2003-05-22  Matthias Clasen  <maclas@gmx.de>
5657
5658         * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip):
5659         Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2
5660         anyway.  (#113476)
5661
5662 Wed May 21 15:53:14 2003  Owen Taylor  <otaylor@redhat.com>
5663
5664         * gtk/gtkprogress.c (gtk_progress_set_format_string,
5665         gtk_progress_set_show_text): Always queue a resize ... 
5666         we rely on the size-allocate to do the update, plus a 
5667         different format can actually change our size requisition.
5668         (#111052, Vasco Alexandre da Silva Costa)
5669
5670         * gtk/gtkprogress.c (gtk_progress_changed): Track
5671         ::changed as well as ::value_changed, and queue a
5672         resize on ::changed when necessary.
5673
5674         * gtk/gtkprogress.c (gtk_progress_set_adjustment): 
5675         Call gtk_progress_changed() here to update or 
5676         queue a resize as necessary.
5677
5678 Wed May 21 14:06:13 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5679
5680         * gtk/gtkimcontextsimple.c: added composing rules of
5681         Greek accented letters, patch by Vasilis Vasaitis (#107507)
5682
5683 Wed May 21 13:19:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5684
5685         * gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): 
5686         * modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change):
5687         gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)
5688
5689 Wed May 21 12:10:25 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5690
5691         * gtk/gtkimcontextsimple.c: 
5692         code that can check the compose table for ascending order,
5693         by Vasilis Vasaitis (#104862).
5694
5695 Wed May 21 12:52:01 2003  Owen Taylor  <otaylor@redhat.com>
5696
5697         * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need 
5698         to pass the unmasked state to gdk_keymap_translate_keyboard_state() 
5699         to handle the case where a modifier not in the mask
5700         (like Num_Lock) changes the key value, so replace
5701         the masked state with a state/mask pair. (#106913,
5702         Olivier Ripoll)
5703
5704         * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
5705         in state/mask pair to _gtk_key_hash_lookup()
5706
5707 Tue May 20 21:58:00 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
5708
5709         * modules/input/gtkimcontextxim.c (xim_info_display_closed):
5710         fix a memory leak, free input context list (#113259).
5711
5712 2003-05-21  Matthias Clasen  <maclas@gmx.de>
5713
5714         * configure.in (all_loaders): Add pcx.
5715
5716         * gtk/gtkcalendar.c: Make calendar controls spin.  (#112540)
5717
5718 Tue May 20 17:27:24 2003  Owen Taylor  <otaylor@redhat.com>
5719
5720         * gtk/gtkimmodule.c (gtk_im_module_init): Silently
5721         accept a missing gtk.immodules file, some people
5722         want to run without one. (#112406, patch from
5723         Arnaud Charlet)
5724
5725 Tue May 20 17:05:31 2003  Owen Taylor  <otaylor@redhat.com>
5726
5727         * gtk/gtkwindow.c (gtk_window_compute_hints): Fix 
5728         height/width confusion (#113370, Xan Lopez)
5729
5730 Tue May 20 15:48:45 2003  Owen Taylor  <otaylor@redhat.com>
5731
5732         * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
5733         zero all unused parts of client messages (Mainly Motif DND
5734         and EWMH). Also, fix a couple places where we were putting
5735         contents into Motif DND messages that didn't belong.
5736         (#113361, EWMH problem reported by Lubos Lunak)
5737
5738         * gtk/gtkselection.c (_gtk_selection_request): Handle the
5739         case where the property type for the multiple atoms is
5740         ATOM_PAIR by doing the conversions ourselve. This is
5741         needed for Xt inter-operation.
5742
5743 2003-05-19 Arafat Medini <lumina@silverpen.de>
5744
5745         * configure.in: Added ar to ALL_LINGUAS
5746
5747 2003-05-19  Matthias Clasen  <maclas@gmx.de>
5748
5749         * gtk/gtksettings.c (gtk_rc_property_parse_border,
5750         gtk_rc_property_parse_color, gtk_rc_property_parse_enum,
5751         gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition):
5752         Add docs.
5753
5754         * gtk/gtkwidget.c (gtk_widget_class_install_style_property, 
5755         gtk_widget_class_install_style_property_parser): Add docs. 
5756
5757 2003-05-17  Matthias Clasen  <maclas@gmx.de>
5758
5759         * tests/prop-editor.c: Add navigation for object properties, so
5760         that you can easily edit the properties of the parent of a widget.
5761         (#113152)
5762
5763 Wed May 14 17:45:32 2003  Owen Taylor  <otaylor@redhat.com>
5764
5765         * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
5766         Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis 
5767         inconsistency and leave the old name as an aliass (#104873)
5768
5769 Wed May 14 16:40:09 2003  Owen Taylor  <otaylor@redhat.com>
5770
5771         * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
5772         from Charles Schmidt to add missing notify (#108305)
5773
5774 Wed May 14 16:00:51 2003  Owen Taylor  <otaylor@redhat.com>
5775  
5776         * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
5777         (#105500, Morten Welinder.)
5778  
5779 Wed May 14 09:05:11 2003   Hidetoshi Tajima <hidetoshi.tajima@sun.com>
5780
5781         * modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
5782         instead of gumake for XNFilterEvents event mask(#110493).
5783
5784 2003-05-11  Anders Carlsson  <andersca@codefactory.se>
5785
5786         * gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
5787         a GObject. (#112762)
5788
5789 2003-05-08  Sven Neumann  <sven@gimp.org>
5790
5791         * configure.in: set the HAVE_X11R6 automake conditional to false
5792         if not compiling for X11.
5793
5794 2003-05-08  Matthias Clasen  <maclas@gmx.de>
5795
5796         * gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): 
5797         (gtk_calendar_get_display_options): New functions.
5798         (gtk_calendar_display_options): Depreate.  (#64567)
5799         (gtk_calendar_class_init): Add boolean properties for the display
5800         options.  (#50949)
5801
5802 Tue May  6 16:50:52 2003  Owen Taylor  <otaylor@redhat.com>
5803
5804         Patch from James Henstridge to update to automake-1.7
5805         (#109542)
5806  
5807         * autogen.sh: update to call newer tools.
5808  
5809         * configure.in: various updates, to use M4 macros to put
5810         variables that change each release at the top.
5811         Use AC_HELP_STRING to format help strings.
5812         Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
5813  
5814         * Makefile.am: require Automake 1.7.  Remove gdk-2.0.pc and
5815         gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
5816         during distcheck.
5817  
5818         * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
5819         makefile fragment.
5820  
5821         * */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
5822         Use BUILT_SOURCES where appropriate.
5823         Build generated files in builddir rather than srcdir.
5824         Fix uninstall and distclean targets to satisfy distcheck.
5825
5826         ===
5827
5828         * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
5829         built first, since we are now using BUILT_SOURCES.
5830
5831         * gdk/Makefile.am: Remove an outdated comment about gdk_headers.
5832
5833         * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
5834         with geninclude.pl.
5835
5836         * configure.in: Update versions to 2.3.0.
5837  
5838 2003-05-06  Tor Lillqvist  <tml@iki.fi>
5839
5840         Fix for #110165 (thanks to Arnaud Charlet):
5841         
5842         * gdk/win32/gdkevents-win32.c (build_keypress_event,
5843         build_keyrelease_event): For unshifted control char, use
5844         lowercase ASCII keyval.
5845         (gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
5846         UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
5847         lowercase keyval. Use build_key_event_state() here, too, instead
5848         of minor code duplication.
5849
5850 2003-05-06  Matthias Clasen  <maclas@gmx.de>
5851
5852         * tests/testmultidisplay.c: Don't include strings.h, it's not
5853         needed anymore.  (#112388)
5854
5855         * examples/menu/itemfactory.c: 
5856         * docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
5857         itemfactory example.
5858
5859 2003-05-05  Matthias Clasen  <maclas@gmx.de>
5860
5861         * gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
5862         icon type to the stock icon type.  (#111735, Dave Bordoley)
5863
5864 2003-05-05  Christian Rose  <menthos@menthos.com>
5865
5866         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
5867         Removed sp, it's replaced by sr@Latn.
5868
5869 Wed Apr 30 22:09:11 BST 2003  Tony Gale <gale@gtk.org>
5870
5871         * docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from
5872         Gonzalo Odiard
5873
5874 Mon Apr 28 17:54:39 2003  Jonathan Blandford  <jrb@redhat.com>
5875
5876         * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search
5877         data iff the destroy func isn't NULL.
5878
5879 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
5880
5881         * autogen.sh (have_libtool): Accept libtool-1.5. (#111480)
5882
5883 2003-04-23  Abel Cheung  <maddog@linux.org.hk>
5884
5885         * configure.in: Added "am" "mk" "ta" to ALL_LINGUAS.
5886
5887 Tue Apr 22 15:33:51 2003  Owen Taylor  <otaylor@redhat.com>
5888
5889         * gtk/gtkfilesel.c (open_new_dir): Fix capitalization
5890         of UTF-8. (#106419, Roozbeh Pournader)
5891
5892 Tue Apr 22 15:17:25 2003  Owen Taylor  <otaylor@redhat.com>
5893
5894         * configure.in: Only check for XFT2 if we found pango-xft
5895         (#105692, Jon Nall)
5896
5897 Tue Apr 22 15:12:19 2003  Owen Taylor  <otaylor@redhat.com>
5898
5899         * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/
5900         PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)
5901
5902 Tue Apr 22 19:43:01 BST 2003  Tony Gale <gale@gtk.org>
5903
5904         * docs/faq/gtk-faq.sgml: add note about version converage.
5905
5906 Mon Apr 21 19:02:16 2003  Owen Taylor  <otaylor@redhat.com>
5907
5908         * gtk/gtksocket.c (activate_key): Fix prototype for
5909         activate_key. (#108927, Jason D. Hildebrand)
5910
5911 Mon Apr 21 18:42:51 2003  Owen Taylor  <otaylor@redhat.com>
5912
5913         * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl:
5914         Remove geninclude.pl from CVS and don't dist it either,
5915         it is generated. (#108970, Rich Kinder)
5916
5917 Mon Apr 21 18:35:48 2003  Owen Taylor  <otaylor@redhat.com>
5918
5919         * gtk/gtkobject.h: Remove a couple of obsolete comments,
5920         fix another comment. (#109737, Britton Kerin)
5921
5922 Mon Apr 21 18:29:03 2003  Owen Taylor  <otaylor@redhat.com>
5923
5924         * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
5925         the source list, not just it's contents (Patch
5926         from Charles Kerr, #108243)
5927
5928 Mon Apr 21 18:13:46 2003  Owen Taylor  <otaylor@redhat.com>
5929
5930         * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
5931         from Alex Larsson fixing problem with restacking during
5932         DND. (#108671)
5933
5934 Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
5935
5936         * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
5937         Calling XFlush() after ungrabbing, to avoid problems if
5938         the app subsequently blocks on a long-running operation.
5939         (#106520, reported by Rajkumar Siva)
5940
5941 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
5942
5943         * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
5944         SKIP_TASKBAR/SKIP_PAGER to set of properties we
5945         might set on map. (#110019, problem reported
5946         by Loban Rahman)
5947
5948 Fri Apr 18 17:14:33 2003  Owen Taylor  <otaylor@redhat.com>
5949
5950         * gdk/gdkevents.c (gdk_event_copy): Fix for the
5951         case when gdk_event_copy() is called on a non-allocated
5952         event. (#109716, reported by Rich Burridge)
5953
5954 Fri Apr 18 16:57:44 2003  Owen Taylor  <otaylor@redhat.com>
5955
5956         * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
5957         Fix pointer arithmetic on 'void *'. (#108322)
5958
5959 Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>
5960
5961         * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
5962         Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
5963         use of XAddConnectionWatch. Remove --enable-xim config option.
5964         Should fix building on X11R6 (#110523, Albert Chin)
5965
5966 Fri Apr 18 15:56:46 2003  Owen Taylor  <otaylor@redhat.com>
5967
5968         * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
5969         Patch from Morten Welinder to catch Sun servers with a 
5970         broken implementation of the RENDER extension. (#108309)
5971
5972 Fri Apr 18 15:30:38 2003  Owen Taylor  <otaylor@redhat.com>
5973
5974         * gdk/x11/gdkwindow-x11.c (set_text_property): Use
5975         gdk_free_compound_text(), not g_free(). (#107643,
5976         Michael Zucchi)
5977
5978 Fri Apr 18 15:11:50 2003  Owen Taylor  <otaylor@redhat.com>
5979
5980         * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
5981         gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
5982         wrong use of base_finalize. (#105126, Sven Neumann)
5983
5984 Fri Apr 18 15:06:00 2003  Owen Taylor  <otaylor@redhat.com>
5985
5986         * gdk/gdkwindow.c (gdk_window_constrain_size): Fix
5987         '/' vs. '*' problem in aspect ration computations. (#108237)
5988
5989 Fri Apr 18 14:15:09 2003  Owen Taylor  <otaylor@redhat.com>
5990
5991         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): 
5992         * gdk/x11/gdkevents-x11.c (gdk_event_translate): You
5993         don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify 
5994         event, so select for both. (#108406, Egmont Koblinger)
5995
5996 Thu Apr 17 09:57:44 2003  Jonathan Blandford  <jrb@gnome.org>
5997
5998         * gtk/gtktreeview.c (validate_visible_area): remove infinite loop
5999         caused by not clearing the scroll_to_path.
6000
6001 2003-04-16  Matthias Clasen  <maclas@gmx.de>
6002
6003         * gtk/gtkstyle.c: Doc additions and fixes.
6004
6005         * gtk/gtktreeviewcolumn.c
6006         (_gtk_tree_view_column_get_neighbor_sizes): Doc fixes.
6007
6008 2003-04-14  Michael Natterer  <mitch@gimp.org>
6009
6010         * gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
6011         that the iter is not reordered to its own position. Prevents model
6012         corruption for the case that the store contains only a single item
6013         (fixes bug #108387).
6014
6015         Unrelated:
6016
6017         * gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
6018         new list element later so we don't leak it if we decide to return
6019         early.
6020
6021         * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
6022         set selection->tree_view->priv->anchor to NULL after freeing it.
6023
6024 2003-04-13  Matthias Clasen  <maclas@gmx.de>
6025
6026         * gtk/gtktreeviewcolumn.c
6027         (gtk_tree_view_column_cell_get_position): Document. 
6028
6029         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): 
6030         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): 
6031         * gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document
6032         these as 2.4 additions.
6033
6034 2003-04-09  Matthias Clasen  <maclas@gmx.de>
6035
6036         * INSTALL.in: Fix the real thing.
6037
6038         * INSTALL: Typo fix.
6039
6040 Mon Apr  7 19:43:15 2003  Owen Taylor  <otaylor@redhat.com>
6041
6042         * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
6043         after ungrabbing the server.
6044  
6045         * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
6046         calls to XFlush().
6047
6048         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
6049         Use gdk_x11_display_grab/ungrab.
6050
6051         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize
6052         use_xshm to TRUE so SHM gets used when present.
6053  
6054 2003-04-07  Matthias Clasen  <maclas@gmx.de>
6055
6056         * gtk/gtktextlayout.c (set_para_values): 
6057         * gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR.  (#110086,
6058         David Brigada)
6059
6060         * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c,
6061         gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous
6062         misspellings of possessive "its".  (#110027, Doug Quale)
6063
6064 2003-04-03  Matthias Clasen  <maclas@gmx.de>
6065
6066         * demos/gtk-demo/main.c (demo_find_file): Only use files from the
6067         current directory if it looks like the srcdir.  (#109357)
6068
6069 Wed Apr  2 23:02:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
6070
6071         * gtk/gtkbutton.[ch] (gtk_button_class_init): add property
6072         focus_on_click
6073
6074         * gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard
6075         navigation not wrap around.
6076
6077 2003-04-02  Matthias Clasen  <maclas@gmx.de>
6078
6079         * gtk/gtkprogress.c (gtk_progress_get_percentage_from_value):
6080         Return 0 if lower == upper.  (#109155)
6081         (gtk_progress_get_current_percentage): Use
6082         gtk_progress_get_percentage_from_value().
6083
6084 2003-04-01  Matthias Clasen  <maclas@gmx.de>
6085
6086         * gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs.
6087         (#109510, Noah Levitt)
6088
6089 Mon Mar 31 13:52:13 2003  Jonathan Blandford  <jrb@redhat.com>
6090
6091         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
6092         members so Purify won't complain.
6093
6094         * gtk/gtkliststore.c (gtk_list_store_sort): ditto.
6095
6096 2003-03-31  Matthias Clasen  <maclas@gmx.de>
6097
6098         * gtk/gtkwindow.c: Add a new property, role, corresponding to 
6099         gtk_window_[gs]et_role().  (#93904)
6100
6101 Sun Mar 30 03:57:42 2003  Jonathan Blandford  <jrb@gnome.org>
6102
6103         * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
6104         fix crash.  Patch from Markus Lausser <sgop@users.sourceforge.net>
6105
6106 2003-03-29  Matthias Clasen  <maclas@gmx.de>
6107
6108         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
6109         of labels back to normal before reparenting back.  (#102387)
6110
6111         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set
6112         a default window title to match the GtkFontSelectionDialog behavior.
6113  
6114         (gtk_color_selection_dialog_new): Don't call
6115         gtk_window_set_title() if title is NULL.  (bug #101975, Daniel Elstner)
6116
6117 2003-03-29  Matthias Clasen  <maclas@gmx.de>
6118
6119         Fix for bug #78499:
6120         
6121         * gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and
6122         select_lines. 
6123
6124         * gtk/gtkentry.c (gtk_entry_button_press): Set select_words and
6125         select_lines on double/triple click.
6126
6127         * gtk/gtkentry.c (gtk_entry_motion_notify): Implement
6128         select-by-words and select-by-lines behaviour.
6129
6130         Fixes for bug #56248:
6131         
6132         * gtk/gtknotebook.c (stop_scrolling): New function to remove the
6133         timer and queue a redraw. 
6134         (gtk_notebook_grab_notify): 
6135         (gtk_notebook_state_changed): New functions to call stop_scrolling() 
6136         if necessary.   
6137         (gtk_notebook_button_release): Use stop_scrolling().
6138         (gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.
6139
6140         * gtk/gtkrange.c (stop_scrolling): New function to remove the
6141         grab, remove the timer and queue a redraw.
6142         (gtk_range_grab_notify): 
6143         (gtk_range_state_changed): New functions to call stop_scrolling() 
6144         if necessary.   
6145         (gtk_range_button_release): Use stop_scrolling().
6146
6147         * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): 
6148         (gtk_spin_button_state_changed): Redraw after stop_spinning.
6149         (gtk_spin_button_stop_spinning): Reset click_child to correct the
6150         drawing of the arrows.
6151         (gtk_spin_button_button_release): Use a local copy of click_child,
6152         since stop_spinning() resets it.
6153
6154         * gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
6155         C-A-PgDown as alternatives to the A-less variants. (This slipped
6156         in accidentally some time ago).  (#97860)
6157
6158 2003-03-26  Sven Neumann  <sven@gimp.org>
6159
6160         * gtk/gtktreeview.c: rewrote the function that does node and arrow
6161         prelighting, queue all redraws from here (Fixes bug #108792).
6162
6163 2003-03-20  Richard Kinder <r_kinder@yahoo.com>
6164
6165         * demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE.
6166         Fixes bug #108778.
6167
6168 2003-03-20  Guntupalli Karunakar <karunakar@freedomink.org>
6169
6170         * configure.in: Added "ml" in ALL_LINGUAS
6171
6172 Sat Mar 15 18:49:27 2003  Manish Singh  <yosh@gimp.org>
6173
6174         * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of
6175         G_DISABLE_DEPRECATED.
6176
6177 2003-03-14  Tor Lillqvist  <tml@iki.fi>
6178
6179         * gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
6180         GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
6181         DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
6182         multiple monitors can have negative coordinates on some of the
6183         monitors. (partial fix for #99496, Arnaud Charlet)
6184
6185 2003-03-15  Matthias Clasen  <maclas@gmx.de>
6186
6187         * gtk/gtktextview.c: Add a "buffer" property.  (#108353) 
6188
6189 2003-03-13  Sven Neumann  <sven@gimp.org>
6190
6191         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
6192         removed redundant calls to g_object_notify().
6193         (gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see
6194         bug #108236.
6195
6196         * gtk/gtktextiter.c (_gtk_text_iter_get_segment_char)
6197         (_gtk_text_iter_get_segment_byte): return 0, not NULL (these
6198         functions return an integer value).
6199
6200 2003-03-13  Tor Lillqvist  <tml@iki.fi>
6201
6202         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
6203         WM_MOUSEMOVE, the test whether we have actually moved (and thus
6204         shouldn't generate an GDK event) moved after the call to
6205         propagate() and translate_mouse_coords(). Otherwise we were
6206         testing wrong values. (#108115, Allin Cottrell)
6207         (gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
6208         way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
6209
6210         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
6211         is used, must copy the HCURSOR with CopyCursor(), as it is OK to
6212         destroy the GdkCursor after calling gdk_pointer_grab(). Set the
6213         cursor right away with SetCursor(), as we won't get any
6214         WM_SETCURSOR messages while the mouse is captured. 
6215         (gdk_display_pointer_ungrab): Correspondingly, destroy the copy
6216         with DestroyCursor() when no longer used. (#108114, Allin Cottrell)
6217
6218         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
6219         WM_SYSCHAR, return FALSE from the window procedure to prevent the
6220         DefWindowProc from being called. Otherwise Windows would beep,
6221         thinking you are tring to access a (nonexistent) menu when you
6222         press Alt-something. Don't do this for Alt-Space,
6223         though. (#107454, Martyn Russell)
6224
6225         * gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
6226
6227 Tue Mar 11 12:01:07 2003  Jonathan Blandford  <jrb@gnome.org>
6228
6229         * gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift
6230         [left/right] expands/collapses the tree, #108092
6231
6232 2003-03-09  Tor Lillqvist  <tml@iki.fi>
6233
6234         * gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
6235         compensate for LineTo() not drawing the end pixel. It causes more
6236         harm than benefits, see bug #81895.
6237
6238 2003-03-08  Matthias Clasen  <maclas@gmx.de>
6239
6240         Bug #107664 continued:
6241
6242         * gdk/x11/gdkinputprivate.h: 
6243         * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. 
6244         (_gdk_input_other_event): Return gboolean.
6245         * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. 
6246         (_gdk_input_other_event): Return gboolean.
6247         * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.
6248
6249         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
6250         gboolean, remove pointless call to _gdk_input_window_none_event.
6251
6252         * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
6253         (_gdk_input_window_none_event): Remove.
6254
6255         * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): 
6256         (_gtk_text_iter_get_any_segment): 
6257         (_gtk_text_iter_get_segment_byte): 
6258         (_gtk_text_iter_get_segment_char): 
6259         (_gtk_text_iter_get_text_line): 
6260         (_gtk_text_iter_get_btree): Fix 0/NULL confusion.
6261         * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
6262         * gdk/win32/gdkfont-win32.c (gdk_font_equal): 
6263         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): 
6264         (gdk_window_get_origin): 
6265         * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 
6266
6267 2003-03-06  Matthias Clasen  <maclas@gmx.de>
6268
6269         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
6270         (#107664, Morten Welinder)
6271
6272         * gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): 
6273         * gdk/x11/gdkfont-x11.c (gdk_font_equal): 
6274         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): 
6275         Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)
6276
6277         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): 
6278         * gtk/gtkeditable.c (gtk_editable_get_chars): 
6279         * gtk/gtkctree.c (gtk_ctree_find_node_ptr): 
6280         * demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion
6281         (#107648, Morten Welinder)Fix NULL/FALSE confusion
6282         (#107648, Morten Welinder)
6283
6284 2003-03-04  Matthias Clasen  <maclas@gmx.de>
6285
6286         * gtk/gtkobject.h: Add deprecation guards for gtk_object_new ().
6287
6288 Sun Mar  2 23:35:57 2003  Jonathan Blandford  <jrb@gnome.org>
6289
6290         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
6291         handle rtl code.  Thanks to Matthias Clasen for an initial patch
6292         to handle the RTL code.
6293
6294         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto
6295
6296         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto
6297
6298         * gtk/gtktreeview.c: (invalidate_column),
6299         (invalidate_last_column),
6300         (gtk_tree_view_get_real_requested_width_from_column),
6301         (gtk_tree_view_size_allocate_columns),
6302         (gtk_tree_view_size_allocate), (gtk_tree_view_button_press),
6303         (gtk_tree_view_button_release_drag_column),
6304         (gtk_tree_view_update_current_reorder),
6305         (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose),
6306         (gtk_tree_view_key_press), (gtk_tree_view_header_focus),
6307         (gtk_tree_view_get_background_xrange),
6308         (gtk_tree_view_get_arrow_xrange),
6309         (gtk_tree_view_is_expander_column),
6310         (gtk_tree_view_set_column_drag_info),
6311         (gtk_tree_view_move_cursor_left_right):
6312         Add RTL support.
6313
6314         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an
6315         expand flag.
6316
6317         * gtk/gtktreeviewcolumn.c:
6318         (gtk_tree_view_column_class_init),
6319         (gtk_tree_view_column_set_property),
6320         (gtk_tree_view_column_get_property),
6321         (gtk_tree_view_column_set_expand),
6322         (gtk_tree_view_column_get_expand),
6323         (gtk_tree_view_column_cell_process_action):
6324         Add support for expand flag.  Thanks to Kristian Rietveld for an
6325         initial patch for this.
6326
6327 Fri Feb 28 02:06:17 2003  Jonathan Blandford  <jrb@gnome.org>
6328
6329
6330 2003-03-02  Tor Lillqvist  <tml@iki.fi>
6331
6332         * gdk/gdk.def
6333         * gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric
6334         Gustin.
6335
6336 2003-03-01  Matthias Clasen  <maclas@gmx.de>
6337
6338         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): 
6339         (gtk_scrolled_window_set_hadjustment): Replace uses of
6340         gtk_object_new by g_object_new.
6341
6342 Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>
6343
6344         * demos/gtk-demo/main.c
6345         * demos/gtk-demo/tree_store.c
6346         * gdk/x11/gdkscreen-x11.c
6347         * gtk/gtkcellrenderertoggle.c
6348         * gtk/gtkcolorsel.c
6349         * gtk/gtkdnd.c
6350         * gtk/gtkeditable.c
6351         * gtk/gtkentry.c
6352         * gtk/gtkmenu.c
6353         * gtk/gtkmenubar.c
6354         * gtk/gtkmenuitem.c
6355         * gtk/gtkmenushell.c
6356         * gtk/gtkrc.c
6357         * gtk/gtksettings.c
6358         * gtk/gtkstyle.c
6359         * gtk/gtktextbuffer.c
6360         * gtk/gtktextview.c
6361         * gtk/gtktreeviewcolumn.c
6362         * tests/testgtk.c
6363         * tests/testtext.c
6364         * tests/testtreeedit.c
6365         * tests/testtreefocus.c
6366         * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
6367
6368 Tue Feb 25 21:55:17 2003  Jonathan Blandford  <jrb@redhat.com>
6369
6370         * gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL
6371         code.
6372
6373 2003-02-24  Sven Neumann  <sven@gimp.org>
6374
6375         * gtk/gtkmain.c (gtk_get_default_language): fixed documentation.
6376
6377 2003-02-21  Tomas Ogren  <stric@ing.umu.se>
6378
6379         * docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example
6380
6381 2003-02-20  Matthias Clasen  <maclas@gmx.de>
6382
6383         * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
6384         Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)
6385
6386         * gtk/gtktextview.c (gtk_text_view_scroll_to_iter): 
6387         (gtk_text_view_update_adjustments): Make sure cursor stays visible
6388         during horizontal scrolling.  (#75270)
6389
6390 2003-02-19  Matthias Clasen  <maclas@gmx.de>
6391
6392         * tests/testdnd.c: Replace gtk_timeout_* by their GLib
6393         counterparts. (#106532)
6394
6395         * gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
6396         keys_changed virtual function with the keys_changed signal.
6397         (#106512, Jeff Franks)
6398
6399 2003-02-15  Larry Ewing  <lewing@ximian.com>
6400
6401         * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.
6402
6403 2003-02-17  Mohammad DAMT  <mdamt@bisnisweb.com>
6404
6405         * po/id.po: Added Indonesian translation
6406         * configure.in: Added "id" to ALL_LINGUAS
6407
6408 2003-02-14  Matthias Clasen  <maclas@gmx.de>
6409
6410         * gtk/gtktextview.c (popup_targets_received): Remove bogus casts.
6411
6412 2003-02-12  Christian Rose  <menthos@menthos.com>
6413
6414         * configure.in: Added "yi" to ALL_LINGUAS.
6415
6416 2003-02-12  Matthias Clasen  <maclas@gmx.de>
6417
6418         Fix for #82734 and #78216:
6419         
6420         * gtk/gtktextview.c (delete_cb): 
6421         (select_all_cb): New callbacks for context menu items.
6422         (popup_targets_received): Add "Delete" and "Select All" to context
6423         menu, mnemonics and title caps for all items.
6424
6425         * gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
6426         context menu item.
6427         (popup_targets_received): Add "Delete" to context menu, mnemonics
6428         and title caps for all items.
6429
6430 2003-02-09  Tor Lillqvist  <tml@iki.fi>
6431
6432         * gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
6433         GetDriveType() to recognize removable drives (in order to avoid
6434         hanging if trying to access an empty floppy drive), instead of
6435         hardcoding A: and B: (#105654).
6436
6437 2003-02-09  Matthias Clasen  <maclas@gmx.de>
6438
6439         * gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in 
6440         names.  (#57680)
6441
6442 2003-02-09  Christian Rose  <menthos@menthos.com>
6443
6444         * configure.in: Removed "en@IPA.po" from ALL_LINGUAS.
6445
6446 Fri Feb  7 04:49:46 2003  Tim Janik  <timj@gtk.org>
6447
6448         * gtk/gtkobject.c: remove quark_user_data usage in
6449         gtk_object_{g|s}et_user_data(). fixes get_user_data()
6450         returning NULL for user_data set through property interface.
6451
6452         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out
6453         warnings if a pixbuf couldn't be retrieved, since (a) this doesn't
6454         need to be a programming error (in case of loaded data), (b) it breaks
6455         with 2.0 behaviour where extra magic could be used to create empty
6456         images. don't attempt to retrieve pixbufs from NULL extra_data.
6457
6458 2003-02-06  Matthias Clasen  <maclas@gmx.de>
6459
6460         * gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
6461         a GdkVisual *, not a GdkVisual **.  (#105243)
6462
6463         * gtk/gtkclist.c: 
6464         * gtk/gtkctree.c: 
6465         * gtk/gtkcontainer.c: 
6466         * gtk/gtkdnd.c: 
6467         * gtk/gtkentry.c: 
6468         * gtk/gtklist.c:
6469         * gtk/gtkmenu.c:
6470         * gtk/gtkmenuitem.c:
6471         * gtk/gtknotebook.c:
6472         * gtk/gtkselection.c:
6473         * gtk/gtkspinbutton.c:
6474         * gtk/gtktext.c:
6475         * gtk/gtktextview.c:
6476         * gtk/gtktooltips.c:
6477         * gtk/gtktreeview.c:
6478         * gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by
6479         their non-deprecated GLib counterparts.
6480         
6481         * gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*.
6482         
6483 Sun Feb  2 16:45:57 GMT 2003  Tony Gale <gale@gtk.org>
6484
6485         * docs/tutorial/gtk-tut.sgml: cleanups from
6486         Sebastian Rittau (#104832)
6487
6488 2003-02-01  Tor Lillqvist  <tml@iki.fi>
6489
6490         Merge from stable:
6491
6492         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
6493         gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
6494         (#104108, Naofumi Yasufuku)
6495
6496         * gdk/gdk.def: Export the above. Export
6497         gdk_screen_get_system_visual, noticed by Ed Woods.
6498
6499 Fri Jan 31 17:45:22 2003  Manish Singh  <yosh@gimp.org>
6500
6501         * demos/pixbuf-demo.c
6502         * demos/testpixbuf.c
6503         * demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage.
6504
6505 Fri Jan 31 17:33:00 2003  Manish Singh  <yosh@gimp.org>
6506                                                                                 
6507         * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
6508         on the tab_label before unparenting it, in case the unparent
6509         drops the refcount to 0.
6510
6511 2003-02-01  Matthias Clasen  <maclas@gmx.de>
6512
6513         * gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk
6514         headers. Sorry about gtk_selection_clear, Yosh.
6515
6516 Thu Jan 30 17:16:05 2003  Manish Singh  <yosh@gimp.org>
6517
6518         * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
6519         too, for gtkwidget.c. Remember people, when introducing new
6520         deprecations, make sure internal code isn't using it, or if so,
6521         reorganize appropriately like I've done in other places.
6522
6523         * tests/testtext.c: don't use deprecated gtk_timeout_* stuff.
6524
6525 2003-01-31  Matthias Clasen  <maclas@gmx.de>
6526
6527         * gtk/gtkselection.h: 
6528         * gtk/gtkselection.c (gtk_selection_clear): Deprecate.  (#85683)
6529
6530         * gdk/gdkpixbuf.h: 
6531         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): 
6532         (gdk_pixbuf_render_to_drawable_alpha): Deprecate.  (#60582)
6533
6534         * gtk/gtkcolorsel.h:
6535         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
6536         Deprecate.  (#98167)
6537
6538         * gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077)
6539
6540         * gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_*
6541         and gtk_input_* functions.  (#71596)
6542         
6543         * gtk/gtkentry.c (gtk_entry_move_cursor): 
6544         * gtk/gtklabel.c (gtk_label_move_cursor): Handle
6545         GTK_MOVEMENT_HORIZONTAL_PAGES in switches.
6546
6547         * gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs().  (#79803)
6548
6549         * gtk/gtkitemfactory.h: 
6550         * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. 
6551         (#69244)
6552
6553 Thu Jan 30 23:48:30 2003  Kristian Rietveld  <kris@gtk.org>
6554
6555         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
6556         only count the special cell if it is also visible,
6557         (_gtk_tree_view_column_get_neighbor_sizes): only take the width into
6558         account from visible cells,
6559         (gtk_tree_view_column_cell_get_position): likewise, (Reported and
6560         testcase provided by Vasco Alexandre da Silva Costa, via IRC,
6561         tracking bug was #104563).
6562         
6563 Thu Jan 30 23:46:15 2003  Kristian Rietveld  <kris@gtk.org>
6564
6565         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
6566         subtract expander space and focus line space from the extra space
6567         we are about the allocate. (Fixes #104635).
6568
6569 Thu Jan 30 23:42:03 2003  Kristian Rietveld  <kris@gtk.org>
6570
6571         * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
6572         (Fixes #96242, patch from Soeren Sandmann).
6573
6574 Thu Jan 30 16:54:29 2003  Owen Taylor  <otaylor@redhat.com>
6575
6576         * gtk/gtknotebook.c: Patch from Soeren Sandmann
6577         to update the states of the tab label child
6578         widgets to match the state of the tabs. 
6579         (#93389, Reported by Tommi Komulainen)
6580
6581 Thu Jan 30 16:30:54 2003  Owen Taylor  <otaylor@redhat.com>
6582
6583         * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from
6584         EXTRA_DIST, and from dist rules. (#102231)
6585
6586 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
6587
6588         * gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
6589         function that sets the icon's and label's packing options and
6590         visibility based on toolbar->style.
6591
6592         (gtk_toolbar_internal_insert_element):
6593         (gtk_real_toolbar_style_changed): Make use of
6594         set_child_packing_and_visibility() to clean up the code and get
6595         the packing right for icon-only/text-only toolbars. (#104679)
6596
6597         (get_first_child): Remove, and use gtk_bin_get_child() instead.
6598
6599 2003-01-30  Matthias Clasen  <maclas@gmx.de>
6600
6601         * gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by
6602         GTK_MOVEMENT_HORIZONTAL_PAGES.  (#68947)
6603
6604         * gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep.
6605         
6606 Thu Jan 30 16:01:29 2003  Owen Taylor  <otaylor@redhat.com>
6607
6608         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the 
6609         attempt-to-allocate then free code. To handle multiple
6610         people allocating colors at the same time, we need
6611         to just go ahead and try. (#102213, Shivram U)
6612         
6613 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
6614
6615         * gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
6616         rectangle using the background color rather than relying on
6617         gdk_window_clear_area(), so that the palette works properly with
6618         pixmap themes. (#101732)
6619
6620         * demos/gtk-demo/colorsel.c: Install an "expose_event" handler
6621         to fill the drawing area in the background color.
6622
6623 Wed Jan 29 14:11:21 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
6624
6625         * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
6626         initialization error for selecting input style (#103549).
6627
6628 Wed Jan 29 17:02:41 2003  Owen Taylor  <otaylor@redhat.com>
6629
6630         * gdk/gdkkeyuni.c (get_decimal_char): Make the 
6631         translation of GDK_KP_Decimal dependent on LC_NUMERIC.
6632         (#101225)
6633
6634 Wed Jan 29 15:43:56 2003  Owen Taylor  <otaylor@redhat.com>
6635
6636         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
6637         Make up from the menu bar go to the end of the submenu.
6638         (#96114, Ian Peters.)
6639
6640         * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): 
6641         Only do the select-but-not-activate stuff if the
6642         menu is already active. Otherwise, just activate.
6643         (#101690, Arvind Samptur)
6644
6645 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
6646
6647         * autogen.sh (have_automake): Fix version in complaint
6648         message about automake. (#104366, Rich Burridge)
6649
6650 Mon Jan 27 16:38:13 2003  Owen Taylor  <otaylor@redhat.com>
6651
6652         * configure.in: Remove SOEXT stuff; it doesn't work portably.
6653
6654 Mon Jan 27 22:45:15 2003  Kristian Rietveld  <kris@gtk.org>
6655
6656         * gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if
6657         we appended/prepended, send the rows_reordered signal to the 
6658         correct level ... (Reported by Matthew Tuck).
6659
6660 Mon Jan 27 22:43:11 2003  Kristian Rietveld  <kris@gtk.org>
6661
6662         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail
6663         out if the level only has one item, recurse over the child if there
6664         is one. (Fixes #100458, reported by Gaël Le Mignot).
6665
6666 Mon Jan 27 22:41:26 2003  Kristian Rietveld  <kris@gtk.org>
6667
6668         * gtk/gtktreeview.c (gtk_tree_view_set_model),
6669         (gtk_tree_view_search_equal_func): make TreeView search handle
6670         all types which are transformable by GValue. (Fixes #99803, reported
6671         by Muktha Narayan).
6672
6673 Mon Jan 27 22:39:25 2003  Kristian Rietveld  <kris@gtk.org>
6674
6675         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id):
6676         *really* handle unsetting the ID. Slightly modified patch from
6677         Soeren Sandmann. Fixes #87556, reported by Jarek Dukat.
6678
6679 Mon Jan 27 22:33:43 2003  Kristian Rietveld  <kris@gtk.org>
6680
6681         Fixes the total GtkTreeSortable mess, and #83195, reported by
6682         Jarek Dukat
6683
6684         * gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id),
6685         (gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func),
6686         (gtk_tree_store_set_default_sort_func): use the constant
6687         GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions
6688         work as advertised by the documentation.
6689
6690         * gtk/gtklistore.c (gtk_list_store_get_sort_column_id),
6691         (gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func),
6692         (gtk_list_store_set_default_sort_func): likewise.
6693
6694         * gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id),
6695         (gtk_tree_model_set_sort_func),
6696         (gtk_tree_model_sort_set_default_sort_func): make functions work
6697         as advertised by the documentation.
6698
6699 Mon Jan 27 22:31:56 2003  Kristian Rietveld  <kris@gtk.org>
6700
6701         * gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column
6702         before we decide if we edit. (fixes #100973, reported by Dave Cook).
6703
6704 Mon Jan 27 22:29:30 2003  Kristian Rietveld  <kris@gtk.org>
6705
6706         Bug report and test case from Paolo Maggi via IRC.
6707
6708         * gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed,
6709         (gtk_list_store_move): update tail if needed.
6710
6711 Mon Jan 27 16:19:59 2003  Owen Taylor  <otaylor@redhat.com>
6712
6713         * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
6714         might be NULL. Use gtk_widget_get_display (widget) 
6715         (#102860, Thomas Leonard)
6716
6717 Mon Jan 27 15:58:31 2003  Owen Taylor  <otaylor@redhat.com>
6718
6719         * configure.in: Fix --without-modules/--disable-modules
6720         confusion that was causing --disable-modules not to work.
6721         (#102865, Akira Tagoh)
6722
6723         * configure.in: Fix problem with plain --with-xinput
6724         (#104266, Akira Tagoh)
6725
6726 2003-01-24  Sebastian Rittau  <srittau@jroger.in-berlin.de>
6727
6728         * docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last
6729         patch.
6730
6731 Fri Jan 24 17:06:41 GMT 2003  Tony Gale <gale@gtk.org>
6732
6733         * docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h
6734
6735 Thu Jan 23 21:15:29 GMT 2003  Tony Gale <gale@gtk.org>
6736
6737         * docs/faq/gtk-faq.sgml: Learn to spell Library
6738
6739 Thu Jan 23 20:56:56 GMT 2003  Tony Gale <gale@gtk.org>
6740         * Sebastian Rittau  <srittau@jroger.in-berlin.de>:
6741
6742            docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a
6743            Composite widget" to modern standards. (I.e. use gobject instead of
6744            glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869.
6745
6746         * docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe
6747         code in Appendix C to reflect above changes.
6748
6749         * examples/rangewidgets/rangewidgets.c: From Roger Leigh
6750         auto resize on page size change
6751
6752 2003-01-23  Daniel Elstner  <daniel.elstner@gmx.net>
6753
6754         * gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
6755         in addition to show_all in order to keep them symmetric. (#102201)
6756
6757 Wed Jan 22 14:18:46 2003  Manish Singh  <yosh@gimp.org>
6758
6759         * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
6760         the end of the function, so there is a statement following the "out"
6761         label in all cases (fixes #101961)
6762
6763 2003-01-22  Christian Rose  <menthos@menthos.com>
6764
6765         * configure.in: Added "mn" to ALL_LINGUAS.
6766
6767 Wed Jan 15 17:02:18 2003  Owen Taylor  <otaylor@redhat.com>
6768  
6769         * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
6770         Fix off-by-one error on the backward iteration loop,
6771         that was causing the wrong range to be redrawn.
6772         (at least part of #72734)
6773         
6774 2003-01-21  Matthias Clasen  <maclas@gmx.de>
6775
6776         * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
6777         vadjustment value after changing its bounds.  (fixes #101963 and 
6778         #73562)
6779
6780         * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid 
6781         unnecessary roundtrip failures.  (#93500)
6782
6783 2003-01-19  Tor Lillqvist  <tml@iki.fi>
6784
6785         Merge from stable:
6786         
6787         Fix for #103614 and some other problems with GtkFileSelection on
6788         Windows:
6789                 
6790         * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
6791         g_ascii_tolower(). Windows file names are case-insensitive for all
6792         Unicode letters.
6793
6794         * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
6795         G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
6796         earlier, as it includes config.h unconditionally, and gtkprivate.h
6797         redefines GTK_LOCALEDIR.
6798         (struct _CompletionDirSent): Ifdef out the fields not used on
6799         Windows.
6800         (compare_utf8_filenames, compare_sys_filenames): Need different
6801         comparison implementation for UTF-8 file names and system locale
6802         file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
6803         need to casefold all Unicode letters.
6804         (cmpl_completion_matches, open_dir, correct_parent): Ifdef out
6805         variables not used on Win32 to avoid warnings about unused
6806         variables.
6807         (open_ref_dir): Use g_path_skip_root() to skip past potential
6808         drive letter in front of the leading (back)slash.
6809         (open_new_dir): Ifdef out use of CompletionDirSent fields not
6810         there on Win32.
6811         (correct_parent): Bypass inode check also on Cygwin.
6812
6813         Fix bug noticed by Alex Shaduri: Tooltips and other
6814         GDK_WINDOW_TEMP windows were activated. This looked very odd, and
6815         was a regression from earlier versions.
6816         
6817         * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
6818         behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
6819         (gdk_window_move, gdk_window_resize): Add debug logging.
6820
6821         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
6822         WM_SIZE message for a non-visible (withdrawn) window, don't clear
6823         the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
6824         even if its size changes.
6825
6826 2003-01-16  Matthias Clasen  <maclas@gmx.de>
6827
6828         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes.
6829         (totally_invisible_line): Fix an incorrect optimization which
6830         caused invisible paragraphs to be occasionally misrendered.
6831
6832 Wed Jan 15 15:55:47 2003  Owen Taylor  <otaylor@redhat.com>
6833
6834         * gtk/gtksettings.c: Set the double click speed from
6835         XSETTINGS when creating a new GtkSettings object
6836         as well as when getting a notify. (#103601, reported
6837         by Louis Garcia)
6838
6839 Wed Jan 15 14:56:09 2003  Owen Taylor  <otaylor@redhat.com>
6840  
6841         * gtk/gtknotebook.c (gtk_notebook_size_allocate): 
6842         Show/hide the notebook event window as necessary,
6843         we weren't previously keeping the visibility updated
6844         properly.  (#103599)
6845  
6846 2003-01-15  Matthias Clasen  <maclas@gmx.de>
6847
6848         * examples/menu/itemfactory.c: 
6849         * docs/tutorial/gtk-tut.sgml: Add a <StockItem> to the itemfactory
6850         example.  (#103211)
6851
6852 2002-12-29  Murray Cumming  <murrayc@usa.net>
6853
6854         Fixes #102168.
6855
6856         * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
6857         Actually implement the GtkTreeDragSource::row_draggable virtual 
6858         function in GtkListStore and GtkTreeStore instead of just checking 
6859         whether it's implemented at all. This means that DnD isn't broken by
6860         gtkmm's virtual function wrappers. The alternative would be to
6861         hard-code the TRUE return value into gtkmm's wrappers, but that's 
6862         part of GTK+'s implementation, not it's API.
6863
6864 Tue Jan 14 23:42:29 2003  Kristian Rietveld  <kris@gtk.org>
6865
6866         * gtk/gtktreeview.c: fix compiler warning.
6867
6868 Tue Jan 14 23:29:00 2003  Kristian Rietveld  <kris@gtk.org>
6869
6870         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
6871         make sure exposed pixbufs are clipped to the exposed area before
6872         drawing, which is a slight speedup. (#102379, patch from Soeren
6873         Sandmann).
6874
6875 Tue Jan 14 23:26:41 2003  Kristian Rietveld  <kris@gtk.org>
6876
6877         * gtk/gtktreeview.c (validate_visible_area): silly typo fix,
6878         only free scroll_to_path when the complete tree has been validated.
6879         This makes sure that we scrolled to the correct path.
6880
6881 Tue Jan 14 23:25:32 2003  Kristian Rietveld  <kris@gtk.org>
6882
6883         * gtk/gtktreeview.c (gtk_tree_view_style_set): update the
6884         background of widget->window and bin->window. (Fixes #96650, reported
6885         by Dave Camp).
6886
6887 Tue Jan 14 23:24:02 2003  Kristian Rietveld  <kris@gtk.org>
6888
6889         * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process
6890         updates before scrolling, avoiding a "selection streak". (Fixes
6891         #101235, patch from Soeren Sandmann).
6892
6893 Tue Jan 14 23:22:13 2003  Kristian Rietveld  <kris@gtk.org>
6894
6895         * gtk/gtktreeview.c (validate_visible_area): actually put values
6896         in the requisition using gtk_widget_size_request. (Fixes #100172,
6897         reported by Kjartan Maraas).
6898
6899 Tue Jan 14 23:19:45 2003  Kristian Rietveld  <kris@gtk.org>
6900
6901         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the
6902         arrow animation timeout before we actually reorder the rbtree. If
6903         we don't do this we can get stuck arrows,
6904         (cancel_arrow_animation): new function. (Fixes #93629, part 2,
6905         reported and testcase provided by Hans Petter Jansson).
6906
6907 Tue Jan 14 23:18:21 2003  Kristian Rietveld  <kris@gtk.org>
6908
6909         * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
6910         anchor_path should be start_path, not end_path. (Fixes #102618,
6911         patch from Carlos Garnacho Parro).
6912
6913 Tue Jan 14 23:16:15 2003  Kristian Rietveld  <kris@gtk.org>
6914
6915         * gtk/gtkliststore.c (gtk_list_store_move): also update the tail,
6916         only correct new_pos if we don't move to the head/tail.
6917
6918 Tue Jan 14 23:11:55 2003  Kristian Rietveld  <kris@gtk.org>
6919
6920         * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from
6921         the parent_iter if depth >= 1, so we send the reordered signal to
6922         the correct level, remove debugging printfs which I forgot the remove
6923         earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and
6924         testcase provided by Matthew Tuck).
6925
6926 Tue Jan 14 20:58:44 2003  Kristian Rietveld  <kris@gtk.org>
6927
6928         * gtk/gtktreeview.c (invalite_last_column): split out actual column
6929         invalidation into invalidate_column(),
6930         (gtk_tree_view_size_allocate_columns): invalidate column if the
6931         new width is larger than the old width.
6932         (fixes #102890, reported by Alex Duggan).
6933
6934 2003-01-14  Matthias Clasen  <maclas@gmx.de>
6935
6936         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
6937         invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
6938         GTK_MOVEMENT_WORDS.
6939
6940         * gtk/gtktextiter.c,
6941         gtk/gtktextiter.h: Add some variant movement functions which
6942         skip invisible chars, and do some cleanups.
6943
6944 2003-01-12  Tor Lillqvist  <tml@iki.fi>
6945
6946         Merge from stable:
6947                 
6948         * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
6949         as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
6950         lookup.
6951
6952         * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
6953         gdk.def.
6954
6955         * gdk/gdk.def
6956         * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
6957
6958         * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
6959         gtk-demo}.exe and share/gtk-2.0.
6960
6961         * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
6962         Implement by setting or clearing the WS_EX_TOOLWINDOW extended
6963         window style.
6964         (gdk_window_set_type_hint): Add all cases to the switch (not all
6965         do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
6966         calling gdk_window_set_skip_taskbar_hint(). This means that GTK
6967         won't know that the skip_taskbar hint is on for the window, is
6968         this bad?
6969
6970 Wed Jan  8 18:43:03 2003  Manish Singh  <yosh@gimp.org>
6971
6972         * gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
6973         <string.h> for strlen.
6974
6975         * gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
6976         <string.h> for strrchr.
6977
6978         * tests/testgtk.c (create_saved_position): "x" and "y" properties
6979         for widgets no longer exist, use gtk_window_move instead.
6980
6981         * test/testtextbuffer.c (check_get_set_text): cast strlen to
6982         int for g_error.
6983
6984 2003-01-08  Matthias Clasen  <maclas@gmx.de>
6985
6986         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of
6987         the selection in the presence of invisible segments.
6988
6989 2003-01-07  Matthias Clasen  <maclas@gmx.de>
6990
6991         * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\
6992         to "select all" and "unselect all".  (#102065)
6993
6994         * gtk/gtktextview.h (struct _GtkTextView): Add a comment that
6995         the just_selected_element is unused.
6996
6997         * gtk/gtktextview.c (extend_selection): New helper function to
6998         find the range that should be added to the selection. 
6999         (selection_motion_event_handler): 
7000         (gtk_text_view_start_selection_drag): 
7001         (gtk_text_view_end_selection_drag): 
7002         (selection_motion_event_handler): 
7003         (selection_scan_timeout): Support select-by-words/lines.
7004         (gtk_text_view_button_press_event): Start a selection drag on
7005         double/triple clicks.  (#78499)
7006
7007 2003-01-06  Matthias Clasen  <maclas@gmx.de>
7008
7009         Implement a utility function proposed in #102534:
7010         
7011         * gtk/gtktextbtree.h: 
7012         * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
7013         (_gtk_text_btree_place_cursor): Now a simple wrapper around
7014         _gtk_text_btree_select_range().   
7015
7016         * gtk/gtktextbuffer.h: 
7017         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
7018         (gtk_text_buffer_place_cursor): Now a simple wrapper around
7019         gtk_text_buffer_select_range(). 
7020
7021 2003-01-05  Havoc Pennington  <hp@pobox.com>
7022
7023         * configure.in: fix a stray bracket that was breaking the build
7024
7025 2003-01-05  Tor Lillqvist  <tml@iki.fi>
7026
7027         * gtk-zip.sh.in: Use correct DLL and import library names, with
7028         GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
7029         (DEVZIP): Add gdk-pixbuf-query-loaders.exe.
7030
7031         * configure.in: Improve check for dimm.h.
7032
7033         * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
7034         gdk-pixbuf/Makefile.am.
7035
7036         * gdk-pixbuf/makefile.mingw.in
7037         * gdk-pixbuf/pixops/makefile.mingw.in
7038         * gdk/makefile.mingw.in
7039         * gdk/win32/makefile.mingw.in
7040         * gtk/makefile.mingw.in: Remove. Not maintained anyway.
7041
7042         * gdk-pixbuf/Makefile.am
7043         * gdk-pixbuf/pixops/Makefile.am
7044         * gdk/Makefile.am
7045         * gdk/win32/Makefile.am
7046         * gtk/Makefile.am
7047         * configure.in: Remove makefile.mingw{,.in} from here, too.
7048         
7049         * README.win32: Updates. Don't mention the now removed
7050         makefile.mingw files.
7051
7052         * gdk/gdk.def
7053         * gtk/gtk.def: Add a couple of missing entries.
7054
7055         * gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
7056
7057         * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
7058         earlier.
7059
7060         * gdk/win32/rc/Makefile.am: Add hack to help
7061         build/win32/lt-compile-resource decide which kind of libtool
7062         object file to produce.
7063
7064 2003-01-05  Matthias Clasen  <maclas@gmx.de>
7065
7066         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
7067         C-Down step through the sequence of paragraph ends (old behaviour
7068         included paragraph starts).  (#80340, patch by Narayana Pattipati)
7069
7070         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
7071         Check for a tag toggle at the start iterator before calling
7072         gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel 
7073         Elstner)
7074
7075 2003-01-04  Matthias Clasen  <maclas@gmx.de>
7076
7077         * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/
7078         and /*< private >*/ as appropriate.  (#97211)
7079
7080 2003-01-04  Tor Lillqvist  <tml@iki.fi>
7081
7082         * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do
7083         distribute gtk-zip.sh.in.
7084
7085         * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1.
7086
7087 2003-01-03  Havoc Pennington  <hp@pobox.com>
7088
7089         * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST
7090
7091         * docs/text_widget_internals.txt: add a file documenting some of
7092         the text widget internals
7093
7094 2003-01-02  Matthias Clasen  <maclas@gmx.de>
7095
7096         * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may
7097         return NULL.  (#102069)
7098
7099 2003-01-01  Matthias Clasen  <maclas@gmx.de>
7100
7101         * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having
7102         a main() in the library is obviously bad. 
7103
7104 2002-12-27  Matthias Clasen  <maclas@gmx.de>
7105
7106         * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
7107         cursor at drop point.  (#72384)
7108         (gtk_text_view_size_allocate): Update the horizontal adjustment
7109         value.  (#75694)
7110
7111 2002-12-25  Matthias Clasen  <maclas@gmx.de>
7112
7113         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of
7114         selection wrt. to empty lines.  (#90435, #90582, #91619)
7115
7116         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
7117         Keep the cursor on screen.  (#96929)
7118
7119 2002-12-24  Matthias Clasen  <maclas@gmx.de>
7120
7121         * gtk/gtktextbuffer.c (paste_from_buffer): 
7122         (clipboard_text_received): Let the user action span the insertion
7123         and the deletion of the old selection.  (#82844)
7124
7125 2002-12-23  Matthias Clasen  <maclas@gmx.de>
7126
7127         * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
7128         Don't call gtk_text_iter_backward_sentence_start() if
7129         count is zero.  (#99115)
7130
7131         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
7132         move_cursor() even if the cursor hasn't moved, since it has the
7133         side effect of canceling the selection.  (#81395, #98537, #98333)
7134
7135 2002-12-22  Matthias Clasen  <maclas@gmx.de>
7136
7137         * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes
7138         with empty ranges.  (fixes #101564 and #80637)
7139
7140 2002-12-21  Tor Lillqvist  <tml@iki.fi>
7141
7142         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
7143         sets the window style and extended window style, and adjusts the
7144         width and height to take the window decorations into account
7145         earlier. The adjusted width and height used to be ignored. Remove
7146         the local x, y, width and height variables, no need to further
7147         confuse the code by having local copies. (Partial fix, I hope, for
7148         #101588)
7149
7150         (gdk_window_move): When moving top-level windows, take title bar
7151         and border width into account, offsetting the coordinates before
7152         calling SetWindowPos().
7153
7154         (gdk_window_set_decorations, gdk_window_set_functions):
7155         Reimplement, taking into account the peculiar semantics of
7156         GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)
7157
7158         (gdk_window_get_decorations): Implement. (#98981)
7159         
7160         (gdk_window_set_type_hint): When setting
7161         GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations().
7162         (#79036)
7163
7164         * gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
7165
7166 2002-12-21  Matthias Clasen  <maclas@gmx.de>
7167
7168         * gtk/gtktextview.c (gtk_text_view_set_background): New static
7169         function to set the background of all windows.
7170         (gtk_text_view_style_set): Use gtk_text_view_set_background().
7171         (gtk_text_view_state_changed): New function; change background
7172         according to state.  (#88126)
7173
7174 2002-12-21  Havoc Pennington  <hp@pobox.com>
7175
7176         * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation
7177