]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Install accelerators on actions, not on proxies, support accelerator-only
[~andy/gtk] / ChangeLog.pre-2-4
1 2003-09-18  Matthias Clasen  <maclas@gmx.de>
2
3         Install accelerators on actions, not on proxies, support
4         accelerator-only actions:
5         
6         * gtk/gtkmenu.c (get_accel_path): New function to get the accel path
7         and its lock status either via _gtk_widget_get_accel_path() or by 
8         looking at the accel_path stored in the menu item itself and determining
9         its lock status by peeking into the contained accel label. This was
10         already (accidentally) committed a week ago.
11
12         * gtk/gtkaction.h (gtk_action_set_accel_group):
13         (gtk_action_[dis]connect_accelerator): New functions.
14
15         * gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
16         accel_closure and accel_count. We must have a reference to the accel_group,
17         since we need it in connect_proxy. The count is necessary to ensure
18         that the accelerator isn't removed before the last proxy requesting 
19         it has been unmerged.
20         (connect_proxy): Connect the accelerator to the 
21         action now, only set the accel_path on the menuitem.
22         (remove_proxy): Disconnect the accelerator from the action, not from
23         the menuitem.
24         (gtk_action_set_accel_group): Set the accel group. 
25         (gtk_action_[dis]connect_accelerator): Count the number of times
26         this functions have been called and install/remove the accelerator if
27         the count leaves/reaches zero.
28
29         * gtk/gtkuimanager.h (GtkUIManagerItemType): Add 
30         GTK_UI_MANAGER_ACCELERATOR.
31
32         * gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
33         (start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
34         <accelerator> elements.
35         (gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
36         type is GTK_UI_MANAGER_ACCELERATOR.
37         (update_node): Set the accel group on actions before creating their
38         proxies. Don't set the accel group on created menus. For 
39         NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
40         (print_node): Also emit <accelerator> elements.
41
42         * tests/testmerge.c (dump_accels): Add a "Dump Accels" button. 
43
44         * gtk/gtkuimanager.c (update_node): Robustness improvements.
45
46 2003-09-17  Matthias Clasen  <maclas@gmx.de>
47
48         * gtk/gtkuimanager.c (text_handler): Report unexpected character
49         data as error from the GMarkup parser, otherwise things like
50         gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) 
51         pass unexpectedly.
52
53 Wed Sep 17 02:38:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
54
55         * gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
56         committed redraw_on_allocate change.
57
58 Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>
59
60         * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
61         stubs to fix compilation
62
63         * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
64         when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).
65
66         * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
67         variable. Patch from Marc Welz (#121347).
68
69 2003-09-16  Matthias Clasen  <maclas@gmx.de>
70
71         * gtk/gtkaction.h: Apply egtk-format-protos.
72
73 2003-09-15  Matthias Clasen  <maclas@gmx.de>
74
75         * gtk/gtkuimanager.c: Doc tweaks.
76
77         Smart separators; see 
78         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00133.html:
79         
80         * gtk/gtkuimanager.c (update_smart_separators): New function which 
81         implements "smart" separators by iterating once over the entries of a 
82         menu, hiding and showing separators as necessary.
83         (update_node): Mark separators used as fences of placeholders as
84         hidden. Explicitly added separators are marked as smart. Call 
85         update_smart_separators after updating a menu or toolbar node. 
86         Connect update_smart_separators to "notify::visible" signal on menu
87         and tool items.
88         
89         * tests/merge-[12].ui: Test smart separators.
90
91         Changes to allow setting action state before connecting signal; see
92         the thread starting at 
93         http://mail.gnome.org/archives/gtk-devel-list/2003-September/msg00140.html:
94         
95         * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
96         (gtk_action_group_add_radio_actions_full): Add value parameter to allow
97         setting the currently selected group member before connecting signals.
98         (GtkToggleActionEntry): Separate struct for constructing toggle actions,
99         including a boolean to initialize the action state before connecting
100         signals.
101         (gtk_action_group_add_toggle_actions):
102         (gtk_action_group_add_toggle_actions_full): New functions to construct
103         toggle actions from an array of GtkToggleActionEntries.
104
105         * demos/gtk-demo/appwindow.c: 
106         * tests/testactions.c: 
107         * tests/testmerge.c: Adjust to new action group API.
108
109 Sun Sep 14 16:59:52 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
110
111         * gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow 
112         "gtk-toolbar-arrow" so themes can special-case it.
113
114 Sun Sep 14 16:07:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
115
116         * gtk/Makefile.am (gtk_c_sources): sort the list of files.
117
118 Sun Sep 14 15:49:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
119
120         * gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
121         PangoFontMetrics. Patch from Steve Chaplin (#122257).
122
123 2003-09-14  Tor Lillqvist  <tml@iki.fi>
124
125         * gdk/win32/gdkwindow-win32.c (show_window_internal): Remove
126         special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
127         the usefulness of which was already in doubt. Removing it fixes
128         bugs #118575 and #121851.
129
130 Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>
131
132         Merge from stable.
133
134         * gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
135         pressed button (used to determine if we want to initiate a drag later
136         on) if the current grab widget is either NULL or tree_view (Reported
137         by Jeroen Zwartepoorte).
138
139 2003-09-12  Matthias Clasen  <maclas@gmx.de>
140
141         * gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text) 
142         (gdk_draw_text_wc): Add deprecation notes.  (#121955, Martin Pool)
143
144 2003-09-11  Matthias Clasen  <maclas@gmx.de>
145
146         * gdk/gdkpango.c: Doc tweaks.
147
148         * tests/testgtk.c: Add table menu tests.
149
150         * gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the 
151         GtkMenuPrivate struct itself. Pointed out by valgrind.
152
153         * gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up 
154         properly.  (#121998)
155
156 Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>
157
158         The table menu patch! Turns GtkMenu into a table, so you can attach
159         menu items in numerous new ways! Be creative!
160
161         Contains some bug fixes and RTL adaptions from Matthias Clasen.
162
163         * gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
164         GtkMenuPrivate, introduce AttachInfo, add child properties enum,
165         (gtk_menu_free_private), (gtk_menu_get_private): we have to free
166         the heights array in the private struct,
167         (gtk_menu_class_init): reorder code a bit, install child properties,
168         (get_attach_info), (get_child_attach): new utility functions,
169         (gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
170         child properties, for the attach info,
171         (gtk_menu_remove): remove AttachInfo from menu item,
172         (gtk_menu_real_insert): implemented algorithm to automagically place
173         inserted menu items at the correct place in the table,
174         (gtk_menu_size_request), (gtk_menu_size_allocate),
175         (compute_child_offset): reworked/rewritten to support table menus,
176         (gtk_menu_attach): new function,
177         (find_child_containing), (gtk_menu_move_current): new functions to
178         get table menu keynav right.
179
180         * gtk/gtkmenu.h: add gtk_menu_attach() prototype.
181
182 2003-09-10  Matthias Clasen  <maclas@gmx.de>
183
184         * gtk/gtksocket.c (gtk_socket_filter_func): Only remove 
185         PropertyNotify events from the stream if they have been handled,
186         in order to enable extending the plug<->socket communication via
187         properties.
188
189 Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>
190
191         Big TreeView DnD fixage, makes drops on empty models work, makes
192         TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
193         Related bugs #95362 and #113314. I don't want to touch this code
194         ever again.
195
196         * gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.
197
198         * gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
199         for selection_data->length.
200
201         * gtk/gtktreeview.c (struct DestRow), (dest_row_free),
202         (set_dest_row), (get_dest_row): we don't store just the row ref
203         anymore, but a struct with the row ref and additional info,
204         (set_destination_row): handle drops on empty space and some
205         style fixes,
206         (get_logical_dest_row): also return path_down_mode/drop_append_mode
207         flags, handle dropping childs on their new parents, rewrite
208         drop append handling into something saner,
209         (gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
210         spaces,
211         (gtk_tree_view_drag_drop): updates for updated backend,
212         (gtk_tree_view_drag_data_received): updates for updated backend,
213         path down mode (treestore DnD) handling,
214         (gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
215         when we are trying to drop a row on an empty model,
216         (gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.
217
218         * gtk/gtkliststore.c (gtk_list_store_drag_data_received),
219         (gtk_list_store_row_drop_possible): style and drop-append fixes.
220
221         * gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
222
223 2003-09-08  Alexander Larsson  <alexl@redhat.com>
224
225         * gtk/gtkeventbox.[hc]:
226         Implement gtk_event_box_get/set_input_only()
227         
228         * tests/testgtk.c:
229         Tests for the new input only event boxes
230
231 Mon Sep  8 21:44:20 2003  Kristian Rietveld  <kris@gtk.org>
232
233         Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.
234
235         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
236         the call to gtk_tree_model_filter_add_root,
237         (gtk_tree_model_filter_row_changed): bail out if c_path is not above
238         the virtual root, allow building levels on the second try to convert
239         the child path to a filter path,
240         (gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
241         root when calling gtk_tree_model_filter_elt_get_path.
242
243 2003-09-07  Matthias Clasen  <maclas@gmx.de>
244
245         * gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
246         Josh Beam)
247
248         Fixes for accelerator handling during (un)merging:
249         
250         * gtk/gtkuimanager.c (update_node): Move setting info-action
251         after the switch, since the old action is needed in some cases.
252         In cases of proxy type mismatch, disconnect the old proxy from
253         the old action.
254
255         * gtk/gtkaction.c (remove_proxy): Renamed from 
256         gtk_action_remove_proxy(). Move unsetting of the accelerator
257         here from disconnect_proxy() in order to catch all cases of 
258         removing a proxy.
259         (gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
260         to fail if proxy isn't a proxy of action.
261
262 2003-09-07  Pablo Saratxaga  <pablo@mandrakesoft.com>
263
264         * configure.in: Added Uzbek latin (uz) and cyrillic (uz@Cyrl) to
265         ALL_LINGUAS
266
267 2003-09-07  Matthias Clasen  <maclas@gmx.de>
268
269         * gtk/gtkaction.c (disconnect_proxy): Make disconnect work
270         for toolitems.
271
272 2003-09-06  Matthias Clasen  <maclas@gmx.de>
273
274         * gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from 
275         prev_action, not from action.  (Fix by David Hampton)
276
277 Fri Sep  5 14:15:10 2003  Owen Taylor  <otaylor@redhat.com>
278  
279         * Back out locale-dependent interpretation of
280         KP_Decimal, the official XFree86 interpretation
281         is that KP_Decimal => . KP_Separator => ,
282         always, independent of locale. 
283         (#105161, Frederic Crozat, 
284         http://bugs.xfree86.org/show_bug.cgi?id=534)
285  
286 2003-09-04  Matthias Clasen  <maclas@gmx.de>
287
288         * tests/testmerge.c: Test buttons and toggle buttons as proxies.
289
290         * gtk/gtktoggleaction.c (connect_proxy): 
291         (gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note 
292         that a "draw_as_radio" property is needed for check buttons similar to 
293         check menu items, in order to fully support button proxies for radio actions.
294
295         * gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.
296
297         * tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui(). 
298
299         * gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
300         'type' argument of gtk_ui_manager_add_ui().
301
302         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
303         to make this function as powerful as the XML methods of adding UI.  (#120647)
304
305 Thu Sep  4 19:11:23 2003  Kristian Rietveld  <kris@gtk.org>
306
307         Merge from stable.
308
309         * docs/RELEASE-HOWTO: updates.
310
311 2003-09-04  Matthias Clasen  <maclas@gmx.de>
312
313         * tests/merge-2.ui: Use "position" instead of "pos".
314
315         * gtk/gtkuimanager.c (start_element_handler): No need 
316         to be terse: Change the name of the "pos" attribute
317         to "position".
318
319 2003-09-04  Matthias Clasen  <maclas@gmx.de>
320
321         * gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and 
322         GtkUIManagerNode to shorten the names and to make the
323         GTK_UI_MANAGER_<TYPE> names available for a public enum.
324
325         * gtk/gtkactiongroup.c:
326         * gtk/gtkuimanager.c: Various doc tweaks.       
327
328         * gtk/gtkuimanager.c (start_element_handler):
329         (end_element_handler): Improve error reporting. 
330
331 Wed Sep  3 23:18:17 2003  Kristian Rietveld  <kris@gtk.org>
332
333         Merge from stable.
334
335         * gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
336         use end_position - page_size instead of G_MAXINT, since
337         gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
338         reported by Havoc Pennington).
339
340 Wed Sep  3 21:58:03 2003  Kristian Rietveld  <kris@gtk.org>
341
342         Merge from stable.
343
344         * gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL,
345         unref it. (Fixes memleak, patch from Kjartan Maraas).
346
347 Wed Sep  3 21:38:26 2003  Kristian Rietveld  <kris@gtk.org>
348
349         * gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
350         gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c,
351         gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
352         gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
353         gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
354         gtk/gtktypeutils.h: big patch from Kjartan Maraas
355         to fix numerous typos.
356
357 Wed Sep  3 17:38:01 BST 2003  Tony Gale <gale@gtk.org>
358
359         * docs/faq/gtk-faq.sgml: Correct compile line for threads example.
360
361 2003-09-02  Tor Lillqvist  <tml@iki.fi>
362
363         * gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call
364         CloseHandle() on the HMODULE returned from GetModuleHandle().
365         Didn't cause any harm, but didn't do anything useful either. When
366         running a GTK+ program under MS's debugger, the CloseHandle() call
367         would cause a "first-chance exception" in ntdll.dll to show up.
368         (The exception is caught appropriately if you let it proceed, but
369         it confuses the person using the debugger). Thanks to Bruce
370         Hochstetler for noticing.
371
372 Tue Sep  2 21:01:19 2003  Kristian Rietveld  <kris@gtk.org>
373
374         Merge from stable.
375
376         * gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
377         to only select when button 1 is pressed introduced in the fix of
378         bug #120187.
379
380 2003-09-02  Matthias Clasen  <maclas@gmx.de>
381
382         * gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.
383
384         * gtk/gtkuimanager.c: Shorten the names of some static 
385         functions.
386
387         Support adding and removing merge nodes dynamically (#120647, 
388         Anders Carlsson):
389         
390         * gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed 
391         gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id 
392         and made it public.
393         (gtk_ui_manager_add_ui): New function to add UI elements
394         without juggling XML fragments, currently restricted to menuitems,
395         toolitems and separators. Actions still come from registered 
396         action groups.
397
398 Mon Sep  1 19:39:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
399
400         * gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the
401         background pixmap was being offset twice, once by the ts_origin in
402         gdk_window_get_bg_gc(), and once by gdk_draw_rectangle().
403
404 2003-09-01  Matthias Clasen  <maclas@gmx.de>
405
406         * gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
407         this public again, since it's occasionally useful.  (#121128,
408         Marco Pesenti Gritti)
409
410         * gtk/gtkaction.c: Add an "is_important" property and propagate
411         it to toolitem proxies.  (#121058, Marco Pesenti Gritti)
412
413 Mon Sep  1 00:32:30 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
414
415         * tests/testtoolbar.c (main): connect to "delete_event" so the
416         application will actually quit when you close the window
417
418 2003-09-01  Matthias Clasen  <maclas@gmx.de>
419
420         * gtk/gtkuimanager.c (gtk_ui_manager_get_widget) 
421         (gtk_ui_manager_get_action): g_return_if_fail() if
422         path is NULL.
423         (gtk_ui_manager_get_node): Avoid a segfault if path is empty.
424         (gtk_ui_manager_finalize): Remove the idle on finalize. (#121125, 
425         Marco Pesenti Gritti)
426
427 2003-08-31  Matthias Clasen  <maclas@gmx.de>
428
429         * gtk/gtktoolitem.c: Fix some typos in docs.
430
431         * gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
432         replaces gtk_ui_manager_activate().  (#120658)
433
434         * tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
435         gtk_ui_manager_activate().
436
437         * gtk/gtkaction.c: 
438         * gtk/gtkactiongroup.c: Some doc tweaks.
439
440         * gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
441         wasn't emitted anyway. Some doc tweaks.
442
443 2003-08-30  Matthias Clasen  <maclas@gmx.de>
444
445         * tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
446         rather than to "remove" on handlebox. 
447
448         * gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
449         activate an action found by following a path.  (#120658)
450
451         * tests/testmerge.c: Add a button to test gtk_ui_manager_activate().
452
453         * tests/testmerge.c (add_widget): Put toolbars in handleboxes.
454
455         * gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with 
456         setter and getter. If it is set, add tearoff menu items to regular 
457         menus, but not to popups. Add a signal "changed", which gets emitted
458         when the merged ui has changed.  (#120649, #120656)
459
460         * tests/testmerge.c: Add button to test the generation of tearoff 
461         menu items.
462
463 2003-08-29  Matthias Clasen  <maclas@gmx.de>
464
465         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): 
466         Actually group the actions together rather than putting each in its 
467         own group.
468
469         * gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on 
470         proxy menu items for radio actions.
471
472         * gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.
473
474 Fri Aug 29 21:40:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
475
476         * gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
477         Fix use of uninitialized variable.
478
479         * gtk/gtktextutil.c
480         (_gtk_text_util_append_special_char_menuitems): add const cast to
481         get rid of warning
482
483 2003-08-29  Matthias Clasen  <maclas@gmx.de>
484
485         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install 
486         "draw_as_radio" as a separate property, not as an alias of 
487         "inconsistent".
488         (gtk_check_menu_item_get_property): 
489         (gtk_check_menu_item_set_property): Also support "draw_as_radio".
490
491 Fri Aug 29 20:32:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
492
493         * gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
494         are narrower than 13 time the estimated character width of the
495         font. (#107781, David Bordoley)
496
497         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
498         here if the GtkToggleButton is active. This may be the case if it
499         is a radio button.
500
501         * gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
502         vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
503         Suarez-Alvarez).
504
505         * gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
506         property. (#111207, David Bordoley).
507
508         * gtk/gtktoggletoolbutton.c
509         (gtk_toggle_tool_button_create_menu_proxy): use new
510         "draw_as_radio" property on the menu item when the item is a radio
511         tool button
512
513         * gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
514         to only pay attention to the "use_underline" property when the
515         button label comes from the "label" property.
516
517 2003-08-29  Laurent Dhima  <laurenti@alblinux.net>
518
519         * configure.in: Added "sq" to ALL_LINGUAS.
520         
521 2003-08-28  Matthias Clasen  <maclas@gmx.de>
522
523         * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
524         fix in the docs.
525
526         * gtk/gtkuimanager.c: Change the XML format:
527         <Root> element is replaced by <ui>,
528         <menu> element is replaced by <menubar>,
529         <submenu> element is replaced by <menu>,
530         <dockitem> element is replaced by <toolbar>,
531         <popups> element is gone,
532         verb attribute is replaced by action,
533         name defaults to action or the element name. 
534
535         * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by 
536         GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified 
537         by removing the user_data, entry_type and extra_data fields, 
538         GtkRadioActionEntry is further simplified by removing the callback. 
539         The user_data can now be specified as an argument to 
540         gtk_action_group_add_actions(). There is a new method 
541         gtk_action_group_add_radio_actions(), which is similar to 
542         gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
543         and a callback parameter in addition to the user_data. The callback
544         is connected to the ::changed signal of the first group member.
545         There are _full() variants taking a GDestroyNotify of 
546         gtk_action_group_add_[radio_]actions().
547
548         * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted 
549         on every member of the radio group when the active member is changed. 
550         Add an integer property "value", and a getter for the value of "value"
551         on the currently active group member. 
552
553         * tests/testactions.c: 
554         * tests/testmerge.c: 
555         * tests/merge-[123].ui:  
556         * demos/gtk-demo/appwindow.c: Adjust to these changes.
557
558         * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
559
560 2003-08-27  Anders Carlsson  <andersca@gnome.org>
561
562         * demos/gtk-demo/appwindow.c (do_appwindow): Focus the
563         text view, so the tool bar won't have focus.
564
565 Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>
566
567         * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
568         declaration not at start of block. (#120371, Damien Carbery)
569
570 2003-08-26  Matthias Clasen  <maclas@gmx.de>
571
572         * gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize 
573         for length, not gsize.
574
575         * gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to 
576         <ui> and make it optional in strings. Rename verb to action, <dockitem> 
577         to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.
578
579         * demos/gtk-demo/appwindow.c: 
580         * tests/testactions.c: 
581         * tests/testmerge.c:
582         * tests/merge-1.ui:
583         * tests/merge-2.ui:
584         * tests/merge-3.ui: Adjust to the new XML format.
585
586 Mon Aug 25 19:55:55 2003  Owen Taylor  <otaylor@redhat.com>
587
588         * gtk/gtktextview.c (gtk_text_view_update_layout_width): 
589         Since we add one to the layout's reported width to
590         account for the cursor, we need to subtract one when
591         setting the wrap width for the layout. (Fixes infinite
592         loop (#120325, Frederic Crozat)
593
594         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
595         Be a bit more careful about rounding when converting
596         wrapped width from Pango units to pixels.
597
598 2003-08-26  Matthias Clasen  <maclas@gmx.de>
599
600         Rename GtkMenuMerge to GtkUIManager. 
601         
602         * gtk/gtkuimanager.[hc]: New files. 
603         * gtk/gtkmenumerge.[hc]: Removed. 
604
605         * gtk/Makefile.am: 
606         * gtk/gtk.h:
607         * tests/testmerge.c: 
608         * tests/testactions.c: 
609         * demos/gtk-demo/appwindow.c: Replace all uses of GtkMenuMerge by 
610         GtkUIManager.
611
612         * demos/gtk-demo/appwindow.c: Make GtkMenuMerge demo less intimidating: 
613         add comments to entries array, remove newlines from ui definition. Don't 
614         use the ::add_widget signal.
615
616 Mon Aug 25 17:28:04 2003  Owen Taylor  <otaylor@redhat.com>
617
618         * gtk/gtknotebook.c (gtk_notebook_forall): Don't
619         include page->menu_label - causes various problems,
620         including #12047.
621
622 Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>
623
624         Merge from stable.
625
626         Fixes #115871, reported by Michael Natterer.
627
628         * gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
629         added ctrl_pressed and shift_pressed bitfields,
630         (_gtk_tree_selection_internal_select_node): replace GdkModifierType
631         arg with GtkTreeSelectMode.
632
633         * gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
634         (gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
635         (_gtk_tree_selection_internal_select_node): all updated for
636         GdkModifierType -> GtkTreeSelectMode move.
637
638         * gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
639         and shift_pressed around selection handling block,
640         (gtk_tree_view_real_select_cursor_row),
641         (gtk_tree_view_real_toggle_cursor_row),
642         (gtk_tree_view_real_selection_cursor_parent),
643         (gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
644         instead of checking the event state. And also updates for the
645         GdkModifierType -> GtkTreeSelectMode move.
646
647 Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>
648
649         * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
650         to the parent when there was no focus widget before
651         and no focus widget after - that is, when there are
652         no focusable widgets. (#108678, help tracking it
653         down from Padraig O'Briain, Federico Mena Quintero, )
654
655         * gtk/gtkxembed.[ch]: Move various shared utilities
656         for the XEMBED protocol eused by GtkPlug and GtkSocket 
657         here.
658
659         * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
660         a flag bit that is sent with focus mesages to indicate
661         that the focus has wrapped around on the toplevel;
662         use this bit to catch infinite loops when there is no
663         focusable widget at ll in the entire toplevel.
664
665         * tests/testsocket.c (child_read_watch): Remove an
666         extraneous unref.
667
668         * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: 
669         Up XEMBED protocol version to 1, add logic for 
670         sending the right version in XEMBED_EMBEDDED_NOTIFY.
671
672         * gtk/gtksocket.c (gtk_socket_add_window): Send
673         the embedder window in the XEMBED_EMBEDDED_NOTIFY
674         as the spec requires.
675
676 Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>
677
678         * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and 
679         NumLock handling for non-XKB. Add a special case
680         hack for NumLock on Sun servers. (Patch from
681         Robert Basch, #115819)
682
683 2003-08-25  Matthias Clasen  <maclas@gmx.de>
684
685         * gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten 
686         Welinder)
687
688         * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
689         gtk_action_group_set_translation_domain): Hooks for translation of
690         label and tooltip in GtkActionGroupEntries.  (#120620)
691
692 2003-08-25  Matthias Clasen  <maclas@gmx.de>
693
694         * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
695         values properly. Sorry about the resize grip trouble, Owen.  (#120621)
696         
697         * gtk/gtkactiongroup.c: 
698         * demos/gtk-demo/appwindow.c: 
699         * tests/testmerge.c: 
700         * tests/testactions.c: Use new GtkActionGroupEntryType enum.  
701
702 Sun Aug 24 17:14:44 2003  Owen Taylor  <otaylor@redhat.com>
703
704         * gtk/gtk.h: Remove reference to gtkresizegrip.h.
705
706 Sun Aug 24 17:03:44 2003  Owen Taylor  <otaylor@redhat.com>
707
708         * gtk/Makefile.am: Fix accidental commit of references
709         to gtkresizegrip.[ch]
710
711 Sun Aug 24 17:00:03 2003  Owen Taylor  <otaylor@redhat.com>
712
713         * gtk/gtkrc.c: Fix some missing initializations of
714         rc_file->directory.
715
716 2003-08-24  Matthias Clasen  <maclas@gmx.de>
717
718         * gtk/gtkaction.[ch]: 
719         * gtk/gtktoggleaction.[ch]: 
720         * gtk/gtktoggleactionprivate.h: 
721         * gtk/gtkradioaction.[ch]: 
722         * gtk/gtkactiongroup.[ch]: 
723         * gtk/gtkmenumerge.[ch]: A model-view separation for menus and
724         toolbars, using the EggMenu code by James Henstridge.
725
726         * gtk/gtk.h: Include new headers.
727         * gtk/Makefile.am: Add new files.
728
729         * tests/testactions.c: Test for actions.
730         * tests/testmerge.c: Test for menu merging.
731         * tests/merge-[123].ui: Test data for testmerge. 
732         * tests/Makefile.am: Add testactions and testmerge.
733
734         * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the 
735         menubar and toolbar.
736         
737 Sat Aug 23 21:40:18 2003  Owen Taylor  <otaylor@redhat.com>
738  
739         * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix 
740         problem where rc_file->directory wasn't always getting
741         set. (#120549, Luis Villa)
742  
743 2003-08-22  Christian Rose  <menthos@menthos.com>
744
745         * configure.in: Added "ne" to ALL_LINGUAS.
746
747 Thu Aug 21 16:00:36 2003  Owen Taylor  <otaylor@redhat.com>
748  
749         * gtk/gtkrc.c: Keep a list of current GtkRcFiles
750         being parsed, not just the directories for those
751         files. Use that to catch recursion. (Part of
752         #114988)
753  
754 Thu Aug 21 21:27:45 2003  Kristian Rietveld  <kris@gtk.org>
755
756         Merge from stable.
757
758         Fix option menu scrolling (#119821, Owen Taylor).
759
760         * gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
761         by #80484 and the CLAMP,
762         (get_menu_height): new function,
763         (gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
764         new_offset to handle page up/down right.
765
766 Thu Aug 21 15:17:42 2003  Owen Taylor  <otaylor@redhat.com>
767
768         * gdk/x11/gdkkeys-x11.c: Change the interpretation
769         of consumed_modifiers so that it contains:
770          - Modifiers combinations actually found in
771            state.
772          - Single modifier modifier combinations.
773         But not multi-modifier combinations that aren't
774         in event->state. Document. (#100439)
775
776 Thu Aug 21 20:53:46 2003  Kristian Rietveld  <kris@gtk.org>
777
778         Slightly modified patch from Yann Rouillard to improve selection
779         behavior with the mouse. Fixes #120187.
780
781         * gtk/gtktreeview.c (gtk_tree_view_button_press): only
782         select/deselect items on the first button press of button 1,
783         expand checks for row_activated to include triple clicks.
784
785 Thu Aug 21 01:33:51 2003  Kristian Rietveld  <kris@gtk.org>
786
787         Merge from stable.
788
789         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
790         approximate digit widths up, to avoid truncation, convert to
791         pango pixels when we have the full string width instead of converting
792         the approx digit width to pango pixels, take inner border and
793         interior focus into account correctly. (Fixes #116368, patch from
794         Morten Welinder).
795
796 2003-08-20  Noah Levitt  <nlevitt@columbia.edu>
797
798         * gtk/queryimmodules.c: Don't look at the same directory twice (in
799         simple cases). (#120342)
800
801 Wed Aug 20 22:04:47 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
802
803         * gdk/gdkwindow.c: Make the layers in the paint stack have their
804         own pixmap instead of sharing one. (#118317)
805
806         * tests/testgtk.c (create_get_image): Fixes to make the window fit
807         on an 800x600 screen
808
809 Wed Aug 20 22:03:25 2003  Kristian Rietveld  <kris@gtk.org>
810
811         Merged from stable.
812
813         * gtk/gtkspinbutton.c (start_spinning): change the type of step
814         to gdouble, since it gets it's data from a gdouble (Fixes #113547).
815
816 Mon Aug 18 17:19:12 2003  Owen Taylor  <otaylor@redhat.com>
817
818         * modules/input/gtkimcontextxim.[ch]: Substantially
819         rework the handling of status windows:
820         
821          - Store the current StatusWindow in the 
822            GtkIMContextXIM structure and vice-versa, so we
823            don't have to hunt the window hierarchy on
824            cleanup.
825          - Use the Gtkidget hierarchy instead of/or as well
826            as the GdkWindow hierarchy when finding the toplevel;
827            this helps for things like GtkHandlebox
828          - Watch GtkWidget::hierarchy_changed to catch 
829            changes in the toplevel without changes in the
830            GdkWindow (reparenting)
831          - Never create the GtkWindow for the status window
832            unless we have text to display.
833          - Various cleanups, add lots of comments.
834
835         (#115077, much help from Takuro Ashie and Hidetoshi
836         Tajima in tracking this down and figuring out a fix.)
837
838         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in): 
839
840         * modules/input/gtkimcontextxim.c: Track the current
841         screen for each toplevel so that we show the status
842         window on the right screen. (#116340, James Su)
843
844         * modules/input/gtkimcontextxim.c: If create a new IC
845         when we currently have the focus, call XSetICFocus()
846         on it.
847         
848         * modules/input/gtkimcontextxim.c (get_im): Fix bug
849         with multiple open screens.
850
851 Tue Aug 19 14:37:46 2003  Owen Taylor  <otaylor@redhat.com>
852
853         * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext): 
854         Replace client_window field with 'priv' pointer,
855         retaining binary compatibility.
856
857         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave): 
858         save use_preedit/cursor_location/focus status and set
859         up the new slave appropriately. (#118651, Botond Botyanszki)
860
861 Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>
862
863         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
864         Don't use impl->position_info.clip_rect for toplevels.
865         (#107068, reported by Thomas Mirlacher)
866
867 Mon Aug 18 11:48:51 2003  Owen Taylor  <otaylor@redhat.com>
868
869         * gdk/x11/gdkdrawable-x11.c (convert_to_format): 
870         Add a fallback for unaligned source data for
871         FORMAT_ARGB_MASK. (#117217)
872
873 Mon Aug 18 10:51:57 2003  Owen Taylor  <otaylor@redhat.com>
874
875         * configure.in: Rework handling of REBUILD_PNGS,
876         so that we also don't try to REBUILD_PNGS when
877         cross-compiling and there is no gdk-pixbuf-csource.
878         But give an error if gtk/stock-icons/gtkstockpixbufs.h
879         is not in the source tree. (Note that REBUILDS_PNG
880         was set backwards before, which is why you always
881         had to manually recreate gtkstockpixbufs.h!)
882
883 Mon Aug 18 10:19:55 2003  Owen Taylor  <otaylor@redhat.com>
884
885         * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the
886         path to libgtk.la. (#120080, Benedikt Spranger)
887
888 Sat Aug 16 10:34:49 2003  Owen Taylor  <otaylor@redhat.com>
889
890         * modules/input/imcedilla.c: Make the list of default
891         languages more comprehensive. (Suggestion of
892         Fco. Javier F. Serrador)
893
894 Sat Aug  9 12:47:11 2003  Owen Taylor  <otaylor@redhat.com>
895
896         * gdk/gdk.c (gdk_arg_context_parse): Fix broken 
897         parentheses when skipping args.
898
899 Sat Aug 16 16:22:23 2003  Kristian Rietveld  <kris@gtk.org>
900
901         Fix major bug in row ref handling, so the new combo box
902         will actually work right (:. Bug #107748. Patch written
903         with help from Tim Janik.
904
905         The basic idea is to update the row refs in a closure,
906         before the actual signal is emitted (rather than having
907         the model connect signal handlers).
908
909         * gtk/gtktreemodel.c (gtk_tree_model_base_init): change
910         g_signal_new calls for row_inserted, row_deleted and
911         rows_reordered to use the new marshallers,
912         (row_inserted_marshall), (row_deleted_marshall),
913         (rows_reordered_marshall): the new marshallers,
914         (gtk_tree_row_ref_inserted_callback): renamed to
915         gtk_tree_row_ref_inserted since it isn't a callback
916         anymore and gets called by the marshaller now,
917         (gtk_tree_row_ref_deleted_callback): likewise,
918         (gtk_tree_row_ref_reordered_callback): likewise,
919         (connect_ref_callbacks), (disconnect_ref_callbacks):
920         removed,
921         (gtk_tree_row_reference_new_proxy),
922         (gtk_tree_row_reference_free),
923         (gtk_tree_row_reference_inserted),
924         (gtk_tree_row_reference_deleted),
925         (gtk_tree_row_reference_reordered): updated.
926
927 Fri Aug 15 16:54:39 2003  Owen Taylor  <otaylor@redhat.com>
928
929         Improve Cedilla handling - based on a patch from Gustavo 
930         De Nardin, #111334
931
932         * modules/input/imcedilla.c po/POTFILES.in: Input method that 
933         produces C_WITH_CEDILLA rather than C_WITH_ACUTE for 
934         dead_acute+c combinations. Make this the default for
935         fr and pt.
936
937         * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave): 
938         Use LC_CTYPE instead of LC_MESSAGES to pick the default
939         input method.
940
941 Fri Aug 15 17:00:19 2003  Owen Taylor  <otaylor@redhat.com>
942
943         * gtk/gtkimcontextsimple.c: Fix missing compose sequence
944         for Multi_key+c+apostrophe.
945
946 Fri Aug 15 21:57:34 2003  Kristian Rietveld  <kris@gtk.org>
947
948         Merged from stable.
949
950         * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
951         on vertical scrolling. (#108035, reported by Tim Janik).
952
953 Fri Aug 15 20:06:42 2003  Kristian Rietveld  <kris@gtk.org>
954
955         Merged from stable.
956
957         * gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
958         (gtk_tree_model_sort_level_find_insert),
959         (gtk_tree_model_sort_insert_value): fix off-by-one error.
960         (#109292 continued, patch from Yann Rouillard).
961
962 Fri Aug 15 19:43:14 2003  Kristian Rietveld  <kris@gtk.org>
963
964         (Note: This is not exactly the same as the patch which went in
965          gtk-2-2).
966
967         * gtk/gtktreeview.c (gtk_tree_view_class_init),
968         (gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event):
969         Also support the up, down, left, right, home, end, page up and
970         page down keys on the numpad. (#119419, reported by Alex Larsson).
971
972 Fri Aug 15 12:34:04 2003  Owen Taylor  <otaylor@redhat.com>
973
974         Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):
975
976         * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that
977         we link libgtk against X explicitely, since we
978         make GTK+ calls for plug/socket.
979
980         * gtk/queryimmodules.c: Use USE_LA_MODULES and 
981         G_MODULE_SUFFIX here. 
982
983         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
984         XShmPutImage with #ifdef USE_SHM.
985
986 Thu Aug 14 18:25:39 2003  Owen Taylor  <otaylor@redhat.com>
987
988         * gtk/gtkfilesel.c (gtk_file_selection_populate):
989         Don't reposition the cursor when we aren't trying
990         to complete. (Fixes problems with selection on
991         startup, #108433, reported by Mark Finlay.)
992
993         * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove
994         code that tried to position the cursor after the common
995         prefix when there was one, it wasn't working, and
996         would be hard to fix. Just always put the cursor
997         at the end when completing.
998
999 Thu Aug 14 17:58:23 2003  Owen Taylor  <otaylor@redhat.com>
1000
1001         * gtk/gtkfilesel.c (get_current_dir_utf8): If getting
1002         the current directory fails because of encoding
1003         conversion problems, walk up textually to parent
1004         directories until we can convert. (#113627)
1005
1006 Wed Aug 13 17:01:49 2003  Owen Taylor  <otaylor@redhat.com>
1007
1008         * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify):
1009         Remove usage of menu_shell->ignore leave which was
1010         to deal with stray events we no longer get because
1011         we do grabbing differently. Comment it as unused in
1012         the header. (#115837, Keith Bissett)
1013
1014 Wed Aug 13 16:32:43 2003  Owen Taylor  <otaylor@redhat.com>
1015
1016         * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request): 
1017         Fix some places that weren't properly Xinerama-ified.
1018
1019         * gtk/gtkmenu.c: Fix problem with windows that scroll
1020         at the top of the screen.
1021
1022 Wed Aug 13 11:34:53 2003  Owen Taylor  <otaylor@redhat.com>
1023
1024         * gtk/gtkcombo.c (gtk_combo_init): connect_after() to 
1025         key-press-event on the entry, so input methods get access to 
1026         key presses before GtkCombo customization.
1027         (#115451, Botond Botyanszki)
1028
1029 2003-08-13  Anders Carlsson  <andersca@gnome.org>
1030
1031         * tests/testtoolbar.c: (set_important_func), (important_toggled),
1032         (create_items_list):
1033         Add an important column.
1034         
1035 Tue Aug 12 15:00:15 2003  Owen Taylor  <otaylor@redhat.com>
1036
1037         * gtk/gtkwindow.c (gtk_window_real_set_focus): Protect
1038         against reentrancy from ::focus-out handlers. 
1039         (#118129, Felipe Heidrich)
1040
1041 Tue Aug 12 14:27:42 2003  Owen Taylor  <otaylor@redhat.com>
1042
1043         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove
1044         GDK_LOCK_MASK before calling
1045         gdk_keymap_translate_keyboard_state so bindings 
1046         and accelerators are independent of the Caps-lock
1047         key. (#115384, reported by Toni Willberg)
1048
1049 Mon Aug 11 12:07:14 2003  Owen Taylor  <otaylor@redhat.com>
1050
1051         * gdk/x11/gdkevents-x11.c (get_real_window): Add missing
1052         break statements (#119494, Soeren Sandmann)
1053
1054 Mon Aug 11 11:10:07 2003  Owen Taylor  <otaylor@redhat.com>
1055
1056         * gtk/gtkwidget.h: Mark parent public as well; it's
1057         extensively accessed in existing code, so there is
1058         no advantage in making people use get_parent().
1059         (Tweak to #119463 fix)
1060
1061 2003-08-11  Matthias Clasen  <maclas@gmx.de>
1062
1063         Add support for EWMH "Above" and "Below" window states.  (105100,
1064         Manuel Clos)
1065         
1066         * tests/testgtk.c: Add "Above" and "Below" to the the "Window
1067         State" demo.
1068
1069         * gtk/gtkwindow.h: Add gtk_window_set_keep_above and
1070         gtk_window_set_keep_below.
1071
1072         * gtk/gtk.def: Add gtk_window_set_keep_above and
1073         gtk_window_set_keep_below.
1074
1075         * gtk/gtkwindow.c (gtk_window_set_keep_below):
1076         (gtk_window_set_keep_above): New functions, call the corresponding
1077         gdk functions.
1078
1079         * gdk/x11/gdkwindow-x11.c (gdk_window_set_keep_below): New
1080         function, sets _NET_WM_STATE_BELOW.
1081         (gdk_window_set_keep_above): New function, sets
1082         _NET_WM_STATE_ABOVE.
1083
1084         * gdk/gdkwindow.h: Add gdk_window_set_keep_above and
1085         gdk_window_set_keep_below.
1086
1087         * gdk/gdkevents.h (GdkWindowState): Add GDK_WINDOW_STATE_ABOVE and
1088         GDK_WINDOW_STATE_BELOW.
1089
1090         * gdk/gdk.def: Add gdk_window_set_keep_above and
1091         gdk_window_set_keep_below.
1092
1093         * acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and
1094         JH_PATH_XML_CATALOG from gtk-doc to enable configuring without
1095         xmlcatalog in PATH.  (#119115)
1096
1097 2003-08-10  Matthias Clasen  <maclas@gmx.de>
1098
1099         * gtk/gtkwidget.h (struct _GtkWidget): Mark some members as
1100         public.  (#119463)
1101
1102 2003-08-09  Noah Levitt  <nlevitt@columbia.edu>
1103
1104         * gdk/gdkevents.h:
1105         * docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
1106         docs on GdkFilterFunc and GdkFilterReturn.
1107
1108 2003-08-09  Matthias Clasen  <maclas@gmx.de>
1109
1110         * gtk/gtkcalendar.c:  Add and hook in gtk_calendar_scroll,
1111         to let the mouse wheels select the month. Scrolling down
1112         moves forward in time. (#53134, Abigail Brady) 
1113
1114         * gtk/gtkcalendar.c: Complete the RTL flipping support for
1115         GtkCalendar, make it possible to flip the headings using the
1116         "magic translated string" technique.  Translators, note the
1117         comment in gtk_calendar_init() explaining this.  (#102416)
1118
1119         * gtk/gtkcalendar.c: Get the information about the first day of
1120         the week from the locale using another instance of the "magic
1121         translated string" technique.  Ignore the display option
1122         GTK_CALENDAR_WEEK_START_MONDAY with a warning.  (#87977)
1123
1124         * gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected
1125         date is dragged as text, formatted via strftime %x. Text drops are
1126         accepted if g_date_set_parse() can make sense of the text. A
1127         dedicated data format for date DND has not been introduced yet,
1128         since there didn't seem to be sufficient consensus on such a
1129         format on xdg-list.  (#117297)
1130         
1131 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1132
1133         * gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach):
1134         Fix a segfault.  (#115284, Jan Kratochvil)
1135
1136 2003-08-08  Tor Lillqvist  <tml@iki.fi>
1137
1138         * gdk/win32/gdkevents-win32.c (print_event): Print also the root
1139         coordinates for events that have such. Print coordinates for enter
1140         and leave events.
1141
1142         (gdk_event_translate): Don't use event uninitialixed in the
1143         return_exposes branch of the WM_PAINT handler.
1144
1145         * gdk/win32/gdkwindow-win32.c (gdk_window_new,
1146         _gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer): 
1147         Must offset top-level window coordinates here, too.
1148
1149 2003-08-08  Matthias Clasen  <maclas@gmx.de>
1150
1151         * demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip
1152         when maximized or fullscreen.
1153
1154 2003-08-07  Tor Lillqvist  <tml@iki.fi>
1155
1156         * gdk/win32/gdkinput-win32.h
1157         * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
1158         _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't
1159         used.
1160
1161         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
1162         accordingly, in fact an uninitialised variable was dereferenced.
1163         
1164
1165         [Win32] Add support for multiple monitors. 
1166         
1167         * gdk/win32/gdkprivate-win32.h
1168         * gdk/win32/gdkglobals-win32.c: New global variables for
1169         multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
1170         _gdk_offset_x and _gdk_offset_y.
1171         
1172         * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
1173         functions, enumeration functions passed to EnumDisplayMonitors().
1174
1175         (gdk_display_open): If the EnumDisplayMonitors() and
1176         GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
1177         if to find out monitor info.
1178
1179         Calculate the offset between Win32 coordinates (relative to the
1180         primary monitor's origin (and thus negative on monitors to the
1181         left of or above it), and GDK's (visible coordinates should be
1182         non-negative).
1183         
1184         * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
1185         gdk_screen_get_monitor_geometry): Use information collected above.
1186
1187         (gdk_window_move, gdk_window_move_resize_window_get_geometry):
1188         Subtract _gdk_offset_{x,y} from GDK root window coordinates.
1189
1190         (gdk_window_get_geometry, gdk_window_get_origin,
1191         gdk_window_get_frame_extents): For top-level windows, add
1192         _gdk_offset_{x,y} to GDK root window coordinates
1193
1194         Still need to handle multiple monitors in
1195         gdk_window_fullscreen(). Probably should make the window
1196         fullscreen on the monitor where the cursor is?
1197
1198         * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
1199         root window coordinates in GdkEvents.
1200
1201         
1202         [Win32] Fix geometry hint handling. Add support for resize
1203         increment and base size, and aspect ratio geometry hints. The
1204         "gridded geometry" test in testgtk now works beautifully.
1205
1206         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1207         Turns out this function shouldn't actually ever modify the
1208         window's size, just store the hints. (Old code kept for a while
1209         inside #if 0.)
1210
1211         (gdk_window_set_hints): Remove presumably broken code that handles
1212         the position hints, this function is obsolete anyway.
1213
1214         * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
1215         variables, not used.
1216
1217         (adjust_drag): New function, used to implement resize increment
1218         hints.
1219
1220         (gdk_event_translate): Handle WM_SIZING, implement resize
1221         increment and base size, and aspect ratio geometry hints here. The
1222         WM_GETMINMAXINFO handler takes care of the minimum and maximum
1223         size hints as before. Fix the WM_GETMINMAXINFO handler to take
1224         into account window decorations. No need to modify the
1225         ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
1226         the defaults are fine.
1227         
1228         * gdk/win32/gdkprivate-win32.h 
1229         * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
1230         _gdk_win32_get_adjusted_client_rect): New helper functions.
1231
1232 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1233
1234         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the
1235         toplevel->have_* flags before iterating over the _NET_WM_STATE 
1236         atoms.  (#119217) 
1237
1238 Thu Aug  7 16:49:29 2003  Owen Taylor  <otaylor@redhat.com>
1239  
1240         * gtk/gtkwidget.c (gtk_widget_set_style_internal): 
1241         Fix a bug where on theme change, resize/redraw wasn't
1242         properly getting queued on toplevel windows. (#116346,
1243         Rajkumar Siva)
1244  
1245         * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows): 
1246         Fix bug where wrong coordinates were used for toplevel
1247         window.
1248  
1249 Thu Aug  7 16:40:21 2003  Owen Taylor  <otaylor@redhat.com>
1250
1251         * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
1252         page_num variable (Archit Baweja)
1253
1254 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1255
1256         * gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to
1257         cope with C libraries with crippled locale support.  (#115293)
1258
1259 2003-08-07  Hans Breuer  <hans@breuer.org>
1260
1261         * gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
1262         (only if the new window not known to Gdk) to get proper
1263         leave notification, and get rid of the wrong placed 
1264         tooltips, bug #102283
1265  
1266         (gdk_event_translate) : small code reordering to not get
1267         GDK_MOTION_NOTIFY for still mouse and get back tooltips on 
1268         menus, bug #117367
1269
1270 2003-08-07  Tor Lillqvist  <tml@iki.fi>
1271
1272         * gdk/gdk.def
1273         * gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
1274         missing function, trivially implement.
1275
1276 2003-08-07  Matthias Clasen  <maclas@gmx.de>
1277
1278         * gtk/gtkctree.c (draw_row): Don't cut descenders when 
1279         rendering.  (#118646, Charles Kerr) 
1280
1281 2003-08-06  Hans Breuer  <hans@breuer.org>
1282
1283         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
1284         initialize bits to 0 (probably default on NT)
1285
1286         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
1287         now it works as intended ;-)
1288
1289 2003-08-04  Hans Breuer  <hans@breuer.org>
1290
1291         * gdk/win32/gdkwindow-win32.c(gdk_window_set_modal_hint) :
1292         set HWND_NOTOPMOST for modal==FALSE, fixes bug #118435
1293
1294         * gdk/win32/gdkwindow-win32.c : implement gdk_window_[un]fullscreen
1295         (gdk_window_{move,resize,move_rezize})) : noop if FULLSCREEN
1296
1297         * gdk/win32/gdkwindow-win32.c (gdk_window_set_icon) :
1298         against all expectations it is basically ony a call with WM_SETICON
1299         needed (the visual effect is there, though colors or mask are
1300         still somewhat wrong).
1301         * gdk/win32/gdkwindow-win32.h : place to store the HICON
1302
1303         * gdk/win32/gdkdrawabke.win32.c : readded the conditional end
1304         pixel drawing as it was fixed at 1999-08-23
1305
1306         gtk/gtk.def : updated
1307
1308 Tue Aug  5 10:07:08 2003  Owen Taylor  <otaylor@redhat.com>
1309
1310         * gtk/gtkmessagedialog.c (gtk_message_dialog_get_property): 
1311         Add a missing break. (#119156, Callum McKenzie)
1312
1313 Tue Aug  5 00:24:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1314
1315         * gtk/gtkmenu.c (gtk_menu_position): New positioning
1316         algorithm.(#116649)
1317
1318 Fri Aug  1 15:26:46 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1319
1320         * gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
1321         property
1322         
1323         * gtk/gtkradiotoolbutton.c
1324         (gtk_radio_tool_button_new_from_widget): Don't take a stock id
1325
1326         * gtk/gtkradiotoolbutton.c
1327         (gtk_radio_tool_button_new_with_stock_from_widget): make this
1328         function take a stock_id.
1329
1330         * gtk/toolbar: documentation
1331
1332 Mon Aug  4 14:53:46 2003  Owen Taylor  <otaylor@redhat.com>
1333
1334         * gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init): 
1335         Fix problem where use_xshm was getting set wrong if
1336         MIT_SHM wasn't found. (George Lebel)
1337
1338 2003-08-04  Tor Lillqvist  <tml@iki.fi
1339
1340         * gdk/win32/gdkevents-win32.c (apply_filters): Fix braino:
1341         actually use the passed-in filter list. The function also needs a
1342         GdkWindow parameter, as filter functions expect
1343         GdkEvent::any.window to be valid. (#119034, Hans Breuer)
1344
1345 2003-08-03  Matthias Clasen  <maclas@gmx.de>
1346
1347         * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): 
1348         (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid
1349         the term "virtual screen".  (#119030, Tor Lillquist)
1350
1351 2003-08-02  Matthias Clasen  <maclas@gmx.de>
1352
1353         * tests/testtext.c (test_init): 
1354         * tests/testgtk.c (test_init): 
1355         * tests/testdnd.c (test_init): 
1356         * demos/pixbuf-init.c (pixbuf_init): 
1357         * demos/gtk-demo/main.c (main): Use g_setenv().
1358
1359         * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Use
1360         g_unsetenv(). 
1361
1362 Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>
1363
1364         * configure.in: Requires glib-2.3.0, pango-1.2.0.
1365
1366         * configure.in: Require Xft version 2,
1367         remove code for handling older versions of pango and Xft.
1368         Many miscellaneous improvements to X checks
1369
1370         * acinclude.m4: Add GTK_ADD_LIB() macro for adding 
1371         a library to a variable, avoiding dups.
1372
1373         * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display): 
1374         Always load "fixed"
1375
1376         * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
1377         for pangox.
1378
1379 2003-08-02  Matthias Clasen  <maclas@gmx.de>
1380
1381         * gtk/gtkcolorsel.c (color_sample_drop_handle) 
1382         (palette_drop_handle): 
1383         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  Accept
1384         drops with the wrong format, since the KDE color chooser incorrectly
1385         drops application/x-color with format 8.  (#118810)
1386
1387         * gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle): 
1388         * gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):  
1389         Accept drops with the wrong format, since the KDE color chooser 
1390         incorrectly drops application/x-color with format 8.  (#118810)
1391
1392 2003-08-02  Tor Lillqvist  <tml@iki.fi>
1393
1394         Fix gdk/win32 window geometry handling again. The window position
1395         in a GDK_CONFIGURE event should be that of the client area, not of
1396         the window decorations. (I was confused by the term "window
1397         border" in X11. It does *not* mean the window manager
1398         decorations. There are no X11-style window borders in Win32.)
1399         Also, this time do take the geometry hints into account
1400         appropriately when moving windows. Now testgtk's gravity test's
1401         move buttons work OK. There are stil problems with taking gravity
1402         into account when showing a hidden window.
1403
1404         * gdk/win32/gdkwindow-win32.h: Keep a whole GdkGeometry as hints
1405         instead of separate fields.
1406         
1407         * gdk/win32/gdkevents-win32.c (handle_configure_event): Don't
1408         adjust for decorations.
1409
1410         * gdk/win32/gdkwindow-win32.c (get_outer_rect,
1411         adjust_for_gravity_hints): New functions.
1412         (gdk_window_move, gdk_window_resize, gdk_window_move_resize): Use
1413         above functions, take geometry hints into account.
1414         (gdk_window_set_geometry_hints): Size hints specicy client area,
1415         not including decorations.
1416
1417 Fri Aug  1 17:10:22 2003  Owen Taylor  <otaylor@redhat.com>
1418
1419         * gtk/gtkfilesel.c (cmpl_completion_fullname): Always
1420         return an absolute path (#115590), fix a problem where
1421         you could crash the file selector with a looong name
1422         by returning a newly allocated buffer.
1423
1424 Fri Aug  1 16:44:51 2003  Owen Taylor  <otaylor@redhat.com>
1425
1426         * gtk/gtkfilesel.c (update_cmpl): Fix obvious reallocation
1427         bug in rarely or never hit code path (#118071,
1428         Tor Lillqvist)
1429
1430 Fri Aug  1 16:30:13 2003  Owen Taylor  <otaylor@redhat.com>
1431
1432         * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render): 
1433         If the check for missing depths, try actually creating pixmaps
1434         of the depths to deal with Xinerama not reporting
1435         all the depths it should. (#115822)
1436
1437 Fri Aug  1 15:33:59 2003  Owen Taylor  <otaylor@redhat.com>
1438
1439         * gtk/gtksocket.c: Patch from Denis Mikhalkin to
1440         forward KeyRelease events as well as KeyPress events.
1441         (#115597)
1442
1443 Fri Aug  1 15:06:25 2003  Owen Taylor  <otaylor@redhat.com>
1444  
1445         * gdk/gdk.c (gdk_parse_args): g_set_prgname("<unknown>")
1446         if argc is 0 as well, instead of leaving it unset.
1447         (#116023, Michael Meeks)
1448  
1449 Thu Jul 31 23:09:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1450
1451         * gtk/gtktoolbar.c (gtk_toolbar_class_init): make show_arrow
1452         default to TRUE; ignore the property when api_mode != NEW_API
1453
1454 2003-07-31  Matthias Clasen  <maclas@gmx.de>
1455
1456         * gtk/gtkwindow.c (gtk_window_set_default_icon): Rename parameter pixbuf
1457         to icon, to pacify gtk-doc.
1458
1459         * gtk/gtkwidget.c (gtk_widget_class_init): Fix formatting of drag-motion 
1460         example. 
1461
1462 Thu Jul 31 15:33:33 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1463
1464         * gtk/gtk*tool*.h: add padding to subclasses of GtkToolItem
1465
1466 Thu Jul 31 15:29:28 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1467
1468         * gtk/gtktoolitem.c (struct _GtkToolItemPrivate): remove unused
1469         overflow_item field.
1470
1471 Wed Jul 30 21:11:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1472
1473         * gtk/gtktoolitem.h: make _gtk_tool_item_toolbar_reconfigured()
1474         an internal function
1475
1476         * gtk/gtktoolitem.h: remove unused declaration of
1477         _gtk_tool_item_get_drag_window().
1478
1479 Wed Jul 30 17:03:58 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1480
1481         * gtk/gtktoolbutton.[ch]:
1482         (gtk_tool_button_new): swap icon_widget and label arguments to
1483         match BonoboUIToolbarButton.
1484
1485         * gtk/gtktoolbar.h: un-deprecate gtk_toolbar_{set|unset}_style().
1486
1487 2003-07-30  Matthias Clasen  <maclas@gmx.de>
1488
1489         * gtk/gtkwidget.c (gtk_widget_class_init): Some updates to the DND
1490         signal docs. 
1491
1492 2003-07-29  Tor Lillqvist  <tml@iki.fi>
1493
1494         Fix for #108007, #112402, #117042: There was confusion in
1495         gdk/win32 at various places whether a window position refers to
1496         the decoration position or the client area position. Also whether
1497         window size includes decorations or not.
1498         
1499         The correct interpretation apparently is that in GDK (like in
1500         X11), a top-level window position means the decoration's position,
1501         but size means the window's inner size (client area size). In the
1502         Win32 API, the window size usually includes the decorations,
1503         though.
1504         
1505         * gdk/win32/gdkevents-win32.c (decode_key_lparam): Move inside
1506         #ifdef G_ENABLE_DEBUG.
1507         (handle_configure_event): New function, generates GDK_CONFIGURE
1508         events from WM_SIZE and WM_MOVE messages. Even if no event is
1509         generated because of the event mask, still set the private
1510         position and size fields. Calculate position and size correctly.
1511         (gdk_event_translate): Call handle_configure_event().
1512
1513         * gdk/win32/gdkgeometry-win32.c: Cosmetics.
1514
1515         * gdk/win32/gdkwindow-win32.c: Use GDI_CALL() and API_CALL()
1516         macros. Cosmetic debugging output changes.
1517         (SafeAdjustWindowRectEx): Remove. If an application wants to
1518         locate a window outside of the screen, it's not GDK's business to
1519         prevent it. And anyway, with multiple monitors, negative
1520         coordinates are perfectly normal.
1521         (gdk_window_new): Adjust the window size for decorations after
1522         _gdk_window_init_position() has done its job. (But the big window
1523         code currently is presumably broken on Win32 anyway.)
1524         (gdk_window_move): The position passed in is supposed to be that
1525         of the window border, so don't need to adjust for decorations.
1526         (gdk_window_resize, gdk_window_move_resize): Simplify somewhat.
1527
1528 Tue Jul 29 13:55:44 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1529
1530         * gtk/gtktoolbar.c (gtk_toolbar_set_style,
1531         gtk_toolbar_prepend_element, gtk_toolbar_append_element,
1532         gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
1533         gtk_toolbar_append_space, gtk_toolbar_insert_item,
1534         gtk_toolbar_prepend_item, gtk_toolbar_append_item,
1535         gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
1536         gtk_toolbar_new, gtk_toolbar_prepend_item):
1537
1538         Move documentation inline from template files.
1539
1540         * gtk/gtktoolbar.c (gtk_toolbar_insert_element,
1541         gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
1542         gtk_toolbar_append_widget, gtk_toolbar_remove_space,
1543         gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
1544         gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
1545         gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
1546         gtk_toolbar_get_style, gtk_toolbar_get_orientation)
1547
1548         Copy documentation from stable that was added after the EggToolbar
1549         branched.
1550
1551         * gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()
1552
1553 Mon Jul 28 18:21:34 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1554
1555         * gtk+/docs/: Commit autogenerated changes, so patches will make
1556         sense.
1557
1558 2003-07-27  Tor Lillqvist  <tml@iki.fi>
1559
1560         * gdk/win32/gdkevents-win32.c (build_key_event_state): On Win9x,
1561         the keyboard state returned by GetKeyboardState() doesn't
1562         distinguish between the left and right Control and Alt keys. Thus
1563         we cannot detect AltGr (which is supposed to be left Control +
1564         right Alt) the same way as on NT-based systems, but have to accept
1565         either Control + either Alt as AltGr.
1566
1567 2003-07-27  Matthias Clasen  <maclas@gmx.de>
1568
1569         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
1570         Fix function name in warning message.  (#118156, Tim-Philipp
1571         Mller)
1572
1573         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
1574         is-expander and is-expanded are boolean properties, not ints.
1575         (#118359, Josh Parsons)
1576
1577 Sat Jul 26 15:21:27 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1578
1579         * gtk/gtkimagemenuitem.c
1580         (gtk_image_menu_item_toggle_size_request): don't request
1581         toggle_space when the image width is 0.
1582
1583 2003-07-25  Tor Lillqvist  <tml@iki.fi>
1584
1585         * gdk/win32/gdkprivate-win32.h
1586         * gdk/win32/gdkglobals-win32.c: New flags _gdk_input_locale_is_ime
1587         and _gdk_keyboard_has_altgr.
1588         
1589         * gdk/win32/gdkevents-win32.c: Lots of changes. Most important
1590         ones detailled here.
1591
1592         Code that has been ifdeffed out for a long time removed. Remove
1593         some really old doc comments that were left behind for some public
1594         functions, the official ones are in the X11 backend anyway. Change
1595         GDK_WINDOW_OBJECT() calls to GdkWindowObject casts. Reformat
1596         multi-line boolean expressions to have the operators at ends of
1597         lines.
1598
1599         As mouse capture with SetCapture() indeed seems to work OK, no
1600         need to have the correspoinding macro USE_SETCAPTURE and ifdefs.
1601
1602         Ifdef out the gdk-ping-msg stuff. I don't remember why it was
1603         needed at some time, and things seem to work fine now without
1604         (knock on wood).
1605
1606         Ifdef out the search for some Latin locale keyboard layout being
1607         loaded. Not used currently, but might be needed after all, if we
1608         decide that we want to be able to generate ASCII control character
1609         events with a non-Latin keyboard.
1610
1611         (assign_object): New helper function, handles the g_object_ref()
1612         and unref() calls when assigning GObject pointers.
1613                 
1614         (generate_crossing_events): Also generate the GDK_NOTIFY_INTERIOR
1615         enter event when the pointer has moved to an ancestor window. Was
1616         left out by mistake.
1617
1618         (gdk_window_is_ancestor): Renamed from gdk_window_is_child().
1619
1620         (gdk_pointer_grab, gdk_pointer_ungrab): Implement the confine_to
1621         functionality, using ClipCursor().
1622                 
1623         (find_window_for_mouse_event): Splice part of code into new
1624         function find_real_window_for_grabbed_mouse_event().
1625
1626         (fixup_event, append_event, apply_filters): New functions, code
1627         refactored out from elsewhere.
1628
1629         (synthesize_enter_or_leave_event, synthesize_leave_event,
1630         synthesize_enter_event,
1631         synthesize_leave_events,synthesize_enter_events): Also take a
1632         GdkCrossingMode parameter, in preparation to generating
1633         GDK_CROSSING_GRAB and GDK_CROSSING_UNGRAB events.
1634
1635         (fixup_event, append_event, fill_key_event_string): New functions,
1636         code refactoring.
1637
1638         (vk_from_char, build_keypress_event, build_keyrelease_event):
1639         Removed as part of dropping WM_CHAR handling.
1640
1641         (build_key_event_state,gdk_event_translate): Call
1642         GetKeyboardState(), once, for each keyboard message, instead of
1643         several calls to GetKeyState() here and there.
1644
1645         (gdk_event_translate): Fix bugs #104516, #104662, #115902. While
1646         at it, do some major refactoring, and some fixes for potential
1647         problems noticed while going through the code.
1648
1649         Don't handle WM_CHAR at all. Only handle WM_KEYDOWN and
1650         WM_KEYUP. Don't need the state variables related to whether to
1651         wait for WM_CHAR or not, and whether the current key is
1652         AltGr. Remove lots of complexity. Thus don't need the
1653         use_ime_composition flag.
1654
1655         Not handling WM_CHAR means dead key handling will have to be taken
1656         care of by GTK, but that seems to work fine, so no worry.
1657
1658         Another side-effect is that Alt+keypad digits don't work any
1659         longer, but it's better to learn to use GTK's ISO14755 support is
1660         anyway.
1661
1662         Be more careful in checking whether AltGr is involved. Only
1663         attempt to handle it if the keyboard actually has it. And
1664         explicitly check for *left* Control plus *right* Alt being
1665         pressed. Still, allow (left) Alt and/or (right) Control with AltGr
1666         chars.
1667
1668         Handle keys using similar code as in the X11 backend. As we have
1669         built a keymap in gdkkeys-win32.c anyway, use it by calling
1670         gdk_keymap_translate_keyboard_state() to look up the keysym from
1671         the virtual key code and keyboard state. Build the key event
1672         string in exactly the same way as the X11 backend.
1673
1674         If an IME is being used, don't generate GDK events for keys
1675         between receiving WM_IME_STARTCOMPOSITION and
1676         WM_IME_ENDCOMPOSITION, as those keys are for the IME.
1677         
1678         For WM_IME_COMPOSITION, handle all the Unicode chars returned from
1679         the IME, not just the first one.
1680
1681         gdk_event_translate() is still quite complex, could split the
1682         message handler cases out into separate functions.
1683
1684         On mouse events, when the mouse is grabbed, use
1685         find_real_window_for_grabbed_mouse_event() in order to be able to
1686         generate correct crossing events.
1687         
1688         No longer take a pre-allocated GdkEvent as parameter. Instead,
1689         allocate events as needed and append them to the queue. (This is
1690         different from how gdk_event_translate() in the X11 backend
1691         works.) This change made the code much clearer, especially in the
1692         cases where we have to generate several GDK events for one Windows
1693         message.  Return FALSE if DefWindowProc() should be called, TRUE
1694         if not. If DefWindowProc() should not be called, also return the
1695         value to be returned from the window procedure.
1696
1697         (Previously, the interaction with gdk_event_translate()'s caller
1698         was much more complex, when we had to indicate whether the
1699         already-queued event should be left in the queue or removed, and
1700         in addition also had to indicate whether to call DefWindowProc()
1701         or not, and what value to return from the window procedure if
1702         not.)
1703
1704         Don't use a separate "private" variable required to be pointing to
1705         the GdkWindowObject of the "window" variable at all times. Just
1706         use casts, even if looks a bit uglier.
1707
1708         Notice destroyed windows as early as possible, and break out of
1709         the messsage switch.
1710
1711         Use _gdk_pointer_root as current_window when the pointer is
1712         outside GDK's top-level windows.
1713         
1714         On WM_INPUTLANGCHANGE, set _gdk_input_locale_is_ime as
1715         appropriate, based on ImmIsIME().
1716         
1717         (gdk_event_translate, gdk_event_send_client_message_for_display,
1718         gdk_screen_broadcast_client_message): Implement client messages.
1719         Use a registered Windows message to pass GDK client messages. Note
1720         that the amount of user data is restricted to four bytes, as it is
1721         carried in the LPARAM. (The WPARAM is used for the message type
1722         "atom".)
1723         
1724         (real_window_procedure): Adapt for new gdk_event_translate()
1725         interface.
1726
1727         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Set
1728         _gdk_input_locale_is_ime initially.
1729
1730         * gdk/win32/gdkwindow-win32.c: Use g_object_ref()/unref() instead
1731         of g_colormap_ref()/unref().
1732
1733         (gdk_window_new): Made code a bit more like the X11 one, pretend
1734         to handle screens (although we just have one for now).
1735
1736         * gdk/x11/gdkevents-x11.c
1737         (gdk_event_send_client_message_for_display,
1738         gdk_screen_broadcast_client_message): Document the user data
1739         limitation on Win32.
1740
1741         * gdk/win32/gdkevents-win32.c (print_event): More complete enter
1742         and leave notify detail output.
1743
1744         * gdk/win32/gdkkeys-win32.c (update_keymap): Make dead keys
1745         visible to GDK and GTK. Store the corresponding GDK_dead_* keysym
1746         for those, so that the GtkIMContextCimple compose tables will
1747         work. Deduce if the keyboard layout has the AltGr key, and set the
1748         above flag accordingly.
1749
1750 2003-07-26  Matthias Clasen  <maclas@gmx.de>
1751
1752         * gtk/gtkwidget.c: Document DND signals.
1753
1754 2003-07-24  Matthias Clasen  <maclas@gmx.de>
1755
1756         * gtk/gtktextview.c (popup_targets_received): Make the "Input Methods"
1757         insensitive when editing isn't possible.  (#118150)
1758
1759 2003-07-23  Matthias Clasen  <maclas@gmx.de>
1760
1761         * gtk/gtkcolorsel.c (gtk_color_selection_init): Make the hue 
1762         spinbutton wrap.  (#118097, John Darrington)
1763
1764         * docs/faq/gtk-faq.sgml: Mention Xnest as a way to debug GTK+ apps. 
1765
1766 2003-07-20  Hans Breuer  <hans@breuer.org>
1767
1768         * makefile.msc : new file to build it all
1769         * Makefile.am : ... added to EXTRA_DIST
1770
1771         * gdk/makefile.msc gtk/stock-icons/makefile.msc 
1772           gtk/makefile.msc.in tests/makefile.msc : updated
1773
1774         * gdk/gdk.def gtk/gtk.def : export a bunch of new 
1775         functions
1776
1777         * gtk/gtkbbox.c : use g_return_val_if_fail() if
1778         there is a value to return
1779
1780         * gtk/gtkfontsel.c gtk/gtkiconfactory.c :
1781         static correctness
1782
1783         * gtk/gtkicontheme.c : ported to use GTimeVal instead of
1784         struct timeval and GTK_DATA_PREFIX instead of GTK_DATADIR
1785
1786         * gtk/gtkicontheme.c : use HAVE_LC_MESSAGES
1787
1788         * gtk/gtkimmulticontext.c : use gtkprivate.h
1789
1790         * gtk/stock-icons/stock_color_picker_25.png
1791           gtk/stock-icons/stock_jump_to_rtl_16.png
1792           gtk/stock-icons/stock_jump_to_rtl_24.png
1793           gtk/stock-icons/stock_redo_rtl_16.png
1794           gtk/stock-icons/stock_redo_rtl_24.png
1795           gtk/stock-icons/stock_undelete_rtl_16.png
1796           gtk/stock-icons/stock_undelete_rtl_24.png
1797           gtk/stock-icons/stock_undo_rtl_16.png :
1798           gtk/stock-icons/stock_undo_rtl_24.png :
1799         readded as binary
1800
1801 Sat Jul 19 22:39:24 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1802
1803         * gtk/gtktoolitem.c (gtk_tool_item_size_request): remove
1804         leftover request of {xy}thickness
1805
1806 Sat Jul 19 16:26:02 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1807
1808         * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): don't
1809         attempt to add a NULL icon to the box.
1810
1811 Sat Jul 19 12:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1812
1813         * gtk/gtknotebook.c (gtk_notebook_focus_in|out): only redraw tabs
1814         on focus in/out.
1815
1816 2003-07-19  Matthias Clasen  <maclas@gmx.de>
1817
1818         * gtk/gtkstock.h (GTK_STOCK_DIALOG_AUTHENTICATION): New stock id. 
1819         * gtk/gtkiconfactory.c (get_default_icons): Add
1820         stock_dialog_authentication_48.  (#65765) 
1821         * gtk/stock-icons/Makefile.am (VARIABLES2, IMAGES): Here too.
1822         * gtk/stock-icons/stock_dialog_authentication_48.png: New image.
1823
1824         * gtk/gtkbbox.h: 
1825         * gtk/gtkbbox.c (gtk_button_box_get_child_secondary): New
1826         function. (#64562) 
1827
1828 Sat Jul 19 00:18:40 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1829
1830         * gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99
1831         declaration
1832
1833         * gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
1834         (gtk_widget_real_focus_{in|out}_event): queue shallow draws
1835         instead of full draws.
1836
1837 2003-07-18  Matthias Clasen  <maclas@gmx.de>
1838
1839         * gtk/gtkwindow.c: Add properties decorated and gravity.  (#80234) 
1840
1841         * gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding
1842         signal, move_viewport. 
1843         (gtk_text_view_move_viewport): New function which implements the
1844         move_viewport functionality. 
1845         (gtk_text_view_move_cursor_internal): If the cursor is not visible, move
1846         the viewport. (#78669) 
1847
1848         * gtk/gtkenums.h (GtkScrollStep): New enumeration, used for
1849         move_viewport argument. 
1850
1851         * gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip
1852         property.  (#111779) 
1853
1854         * gtk/gtkwindow.h: 
1855         * gtk/gtkwindow.c (gtk_window_set_default_icon): New method.  (#95816)
1856
1857         * gtk/gtkmessagedialog.h:
1858         * gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.  
1859         (#65501, Sebastian Rittau)
1860
1861 Fri Jul 18 20:06:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1862
1863         * gtk/gtktextview.c (changed_handler): use
1864         gtk_widget_queue_resize_noredraw().
1865
1866 2003-07-16  Jody Goldberg <jody@gnome.org>
1867
1868         * gdk/x11/gdkwindow-x11.c (gdk_window_focus) : fix cut-n-paste-o
1869
1870 Fri Jul 18 19:55:50 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1871
1872         * gtk/gtkwidget.c (gtk_widget_queue_resize_no_redraw): Add this
1873         API. 
1874
1875 Fri Jul 18 18:43:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1876
1877         By popular request give toolbuttons a border.
1878         
1879         * gtk/gtktoolitem.c
1880         (gtk_tool_item_size_allocate):
1881         (gtk_tool_item_size_request): don't request and allocate a border
1882         around the child
1883
1884         * gtk/gtktoolbutton.c 
1885         (gtk_tool_button_size_allocate):
1886         (gtk_tool_button_size_request): remove these functions
1887
1888         * gtk/gtktoolbar.c 
1889         (gtk_toolbar_size_request):
1890         (gtk_toolbar_size_allocate): request and allocate a border if we
1891         have a shadow.
1892
1893 Thu Jul 17 19:24:51 2003  Kristian Rietveld  <kris@gtk.org>
1894
1895         Merged from stable.
1896
1897         Fixes issues pointed out by Morten Welinder in #115140.
1898
1899         * gtk/gtktreeview.c (gtk_tree_view_size_request): fix comment,
1900         (do_validate_rows): update validated_area with a logic OR instead
1901         of a bitwise OR,
1902         (validate_rows_handler): make the if statement match the one in
1903         validate_rows(), so we don't leak the timeout.
1904
1905 Thu Jul 17 19:12:02 2003  Kristian Rietveld  <kris@gtk.org>
1906
1907         Merged from stable.
1908
1909         * gtk/gtktreeview.c (gtk_tree_view_remove_widget): the treeview
1910         should only grab focus back if the "cell_editable" widget still
1911         has focus. (Fixes #110104, testcase provided by Marco Pesenti
1912         Gritti).
1913
1914 Thu Jul 17 19:06:34 2003  Kristian Rietveld  <kris@gtk.org>
1915
1916         Merged from stable.
1917
1918         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1919         Don't set attr.event_mask twice, those things were meant to be
1920         ORred. (#115139, pointed out by Morten Welinder).
1921
1922 Thu Jul 17 16:11:21 2003  Kristian Rietveld  <kris@gtk.org>
1923
1924         Merged from stable.
1925
1926         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): stop editing
1927         if needed. (Fixes #115869, reported by Michael Natterer).
1928
1929 2003-07-15  Matthias Clasen  <maclas@gmx.de>
1930
1931         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
1932         Fight against gtk-doc stupidity.
1933
1934 2003-07-13  Matthias Clasen  <maclas@gmx.de>
1935
1936         * gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to 
1937         targets, to pacify gtk-doc.
1938
1939 Sun Jul 13 15:57:57 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1940
1941         * gtk/gtktoolbutton.c (gtk_tool_button_finalize): Fix leaks of
1942         label_text, label_widget and icon_widget. (#117312, 
1943         Christian Persch)
1944         
1945 Sun Jul 13 01:37:51 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
1946
1947         * gtk/gtkmenu.c (gtk_menu_class_init): new properties
1948         "horizontal-offset" and "vertical-offset" that determines the
1949         position of the menu when it is a submenu. 
1950
1951         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): position
1952         submenus according to new vertical- and horizontal-offset
1953         properties.
1954
1955 Sat Jul 12 16:16:04 2003  Kristian Rietveld  <kris@gtk.org>
1956
1957         Merged from stable.
1958
1959         * gtk/gtktreeview.c (gtk_tree_view_drag_data_received): special
1960         case drags to "0", scroll to the top after dropping. (Fixes #94968,
1961         reported by Alp Toker).
1962
1963 Sat Jul 12 16:08:32 2003  Kristian Rietveld  <kris@gtk.org>
1964
1965         Merged from stable.
1966
1967         * demos/gtk-demo/editable_cells.c (cell_edited): fixup bad
1968         code (#115784, Owen Taylor).
1969
1970 Sat Jul 12 16:01:03 2003  Kristian Rietveld  <kris@gtk.org>
1971
1972         Merged from stable.
1973
1974         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
1975         free the old text and extra_attrs *after* we parsed the new
1976         markup string. (Fixes #114485, reported by Owen Taylor).
1977
1978 Sat Jul 12 15:51:33 2003  Kristian Rietveld  <kris@gtk.org>
1979
1980         Merged from stable.
1981
1982         Fixes #113904, testcase provided by Rene Seindal.
1983
1984         * gtk/gtktreeview.c (gtk_tree_view_button_press): set
1985         pressed_button to -1 when a row has been activated,
1986         (gtk_tree_view_motion_bin_window): only start a drag if there's
1987         a button being pressed.
1988
1989 Sat Jul 12 15:51:18 2003  Kristian Rietveld  <kris@gtk.org>
1990
1991         Merged from stable.
1992
1993         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): use
1994         gdk_window_get_pointer instead of gdk_display_get_window_at_pointer
1995         to avoid a roundtrip (#110272, Owen Taylor).
1996
1997 Sat Jul 12 15:28:26 2003  Kristian Rietveld  <kris@gtk.org>
1998
1999         Merged from stable.
2000
2001         This patch really really fixes scrolling. Related bugs: #81627,
2002         testcase provided by Timo Sirainen, #111500, testcase provided by
2003         manu, #113241, reported by Pedro Gimeno/Michael Natterer.
2004
2005         * gtk/gtktreeview.c (validate_visible_area): scrolling to a dy
2006         which is equal to the lower border of the window means scrolling
2007         to an invisible row, always update the dy when scrolling to an
2008         invisible row, corrected area_above/below calculations for
2009         invisible rows, when walking the tree correct the size
2010         subtracted for invalidated rows, fix wrong logic in comment.
2011
2012 2003-07-11  Matthias Clasen  <maclas@gmx.de>
2013
2014         * gtk/gtkicontheme.c (pixbuf_supports_svg): Use g_strfreev() to free
2015         mime_types.  (#117219, Steve Chaplin)
2016
2017 Tue Jul  8 20:11:04 2003  Owen Taylor  <otaylor@redhat.com>
2018
2019         * gdk/x11/gdkevents-x11.c (get_real_window)
2020         gdk/x11/gdkinput-x11.c (_gdk_input_common_init)
2021         gdk/x11/gdkimage-x11.c (_gdk_windowing_image_init)
2022         gdk/x11/gdkprivate-x11.h (_gdk_windowing_image_init)
2023         Don't assume that all events start with XEventAny - Xkb events
2024         don't! (#105745). So, only do that for core events, and for
2025         non-core events, add a system for registering event types
2026         that start with XEventAny.
2027
2028         * gdk/x11/gdkevents-x11.c (gdk_event_translate):
2029         Check to see if the result of gdk_window_lookup_for_display()
2030         is actually a window.
2031
2032 Fri Jul 11 20:48:14 2003  Kristian Rietveld  <kris@gtk.org>
2033
2034         * gtk/gtktreemodel.c (gtk_tree_path_free): make the path != NULL
2035         check a silent assert, so it follows the g_free() behaviour.
2036
2037 2003-07-11  Matthias Clasen  <maclas@gmx.de>
2038
2039         * gtk/gtkstatusbar.c (gtk_statusbar_init): Center statusbar contents 
2040         vertically.  (#109823, Joe Shaw)
2041
2042 2003-07-11  Morten Welinder  <terra@gnome.org>
2043
2044         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixbuf): Fix memory
2045         access error.  (#69436)
2046
2047 Fri Jul 11 14:32:43 2003  Kristian Rietveld  <kris@gtk.org>
2048
2049         Landing GtkTreeModelFilter and the completion code. (Test program
2050         and documentation will follow next week).
2051
2052         * gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
2053         gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.
2054
2055         * gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
2056         necessary code to hook up completion.
2057
2058         * gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
2059         GtkCellLayout interface.
2060
2061         * gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.
2062
2063         * gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new
2064         source files.
2065
2066 Wed Jul  9 19:48:26 2003  Kristian Rietveld  <kris@gtk.org>
2067
2068         Merge from stable.
2069
2070         * gdk/gdkdisplay.c (gdk_display_get_window_at_pointer): don't
2071         directly return from ->window_at_pointer, but set win_x and win_y
2072         first if needed. (Fixes #110166, reported by Arno Charlet).
2073
2074         * gdk/gdkwindow.c (gdk_window_get_composite_drawable): change
2075         function to accept GdkDrawables and not just GdkWindows. This was
2076         already done in some other functions a while back, but this patch
2077         got lost for some reason.
2078
2079 2003-07-09  Matthias Clasen  <maclas@gmx.de>
2080
2081         * gtk/gtkcontainer.c (gtk_container_focus_sort_tab): Consider the text
2082         direction when sorting children.  (#116540, Soeren Sandmann)
2083
2084 Tue Jul  8 17:36:21 2003  Owen Taylor  <otaylor@redhat.com>
2085
2086         * gdk/x11/gdkasync.[ch] gdk/gdkdnd-x11.c: 
2087         Change _gdk_x11_send_xevent_async() to 
2088         _gdk_x11_send_client_message_async() avoid using Xlib
2089         internals that are different on Solaris. 
2090         (#116917, Morten Welinder)
2091
2092 2003-07-08  Matthias Clasen  <maclas@gmx.de>
2093
2094         * gtk/gtkcontainer.c (gtk_container_remove): Doc addition.
2095         (#116501, Doug Quale)
2096
2097 Tue Jul  8 21:35:22 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2098
2099         * gtk/gtktoggletoolbutton.h: remove strange #define
2100         * gtk/gtktoolbutton.h: fix cut'n'paste error
2101         * gtk/gtktoolbutton.c (gtk_tool_button_init): use instance
2102         private data
2103         * gtk/gtktoolitem.c (gtk_tool_item_class_init): use instance
2104         private data instead of g_new0()
2105         * gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): use
2106         instance private data
2107
2108 Tue Jul  8 21:10:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2109
2110         * gtk/gtkbutton.c (gtk_button_realize): remove GDK_EXPOSURE_MASK
2111         for INPUT_ONLY window
2112         * gtk/gtkmenuitem.c (gtk_menu_item_realize): same
2113         * gtk/gtknotebook.c (gtk_notebook_realize): same
2114         * gtk/gtkexpander.c (gtk_expander_realize): same
2115         * gtk/gtkrange.c (gtk_range_realize): same
2116
2117         Fix #116303
2118
2119 Tue Jul  8 19:57:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2120
2121         * gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x
2122         when detail is "menuitem". With the new menu look is isn't needed
2123         anymore.
2124
2125         * gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a
2126         resize here, so that tool items will get a chance to relayout
2127         themselves based on the toolbar configuration.
2128
2129         change DEFAULT_SPACE_SIZE to 4 instead of 5
2130
2131         * gtk/gtktoolbar.c 
2132         Get rid of "!GTK_BIN (item)->child means separator". Separators
2133         are widgets in their own right
2134
2135         change DEFAULT_SPACE_SIZE to 4 instead of 5
2136         
2137         (get_space_size): remove this function
2138         (toolbar_item_is_homogeneous): new function
2139
2140         * gtk/gtkseparatortoolitem.c
2141         (gtk_separator_tool_item_size_request): new function.
2142
2143 Tue Jul  8 14:10:35 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2144
2145         * gtk/gtktoggletoolbutton.h: use private data, add new
2146         internal function _gtk_toggle_tool_button_get_button()
2147
2148         * gtk/gtktoolbutton.h: move to private data
2149
2150         * gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new
2151         private data.
2152
2153 Tue Jul  8 12:50:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2154
2155         * gtk/gtktoolbutton.c (gtk_tool_button_get_icon_widget): fix a
2156         type check, (#116947, Krasimir Angelov)
2157
2158         * gtk/gtktoolbar.c: Use new GtkToolItem accessors.
2159         
2160         * gtk/gtktoolitem.[ch]: Use a private struct to hold the instance
2161         data. Not instance private data yet, because of bug 116921.
2162
2163         * gtk/gtktoolitem.h: new accessors:
2164                 gtk_tool_item_get_homogeneous ()
2165                 gtk_tool_item_get_expand ()
2166                 gtk_tool_item_get_pack_end ()
2167                 gtk_tool_item_get_use_drag_window ()
2168
2169 Mon Jul  7 16:50:32 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2170
2171         * gtk/gtkcellrenderertext.c
2172         (gtk_cell_renderer_text_class_init): remove accidentally committed
2173         debugging spew
2174
2175         * gtk/gtktoolbar.c
2176         (gtk_toolbar_paint_space_line): remove this function
2177         (gtk_toolbar_expose): always propagate expose, even if the item is
2178         a separator item
2179
2180         * gtk/gtkseparatortoolitem.c
2181         (gtk_separator_tool_item_expose): moved here from gtktoolbar.c
2182         (get_space_size): new function.
2183         (get_space_style): new function
2184
2185 Sun Jul  6 13:00:20 2003  Owen Taylor  <otaylor@redhat.com>
2186
2187         * gtk/gtkdnd.c (_gtk_drag_source_handle_event)
2188         * gtk/gtkdnd.c (gtk_drag_begin_internal):  Remove use
2189         of GDK_POINTER_MOTION_HINT_MASK.
2190
2191         * gtk/gtkdnd.c (gtk_drag_update_idle): Move updating
2192         of the drag into an idle as a superior form of 
2193         expose compression.
2194
2195         * gtk/gtkdnd.c (gtk_drag_begin_internal): Move default icon
2196         creation here, so that we have an icon at the start
2197         of the drag (e.g., when retrieving the window cache
2198         information.)
2199
2200 Sun Jul  6 17:21:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2201
2202         * docs/widget_geometry.txt: better drawing of GtkMenuItem
2203         * docs/widget_geometry.txt: add notes about GtkMenu
2204         * gtk/gtkstyle.c: remove leftover "#include "gtkhandlebox.h""
2205
2206 Sat Jul  5 10:34:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2207
2208         * gtk/gtkmenu.c: add vertical_padding style property.
2209         
2210         * gtk/gtkmenuitem.c: add style properties toggle_spacing,
2211         arrow_spacing and horizontal_padding. Also center separators and
2212         make them a bit taller.
2213
2214         * gtk/*menuitem.c: use new style properties.
2215         
2216         * docs/widget_geometry.txt: Add note about GtkMenuItem
2217
2218         * gtk/gtkstyle.c 
2219         (gtk_default_draw_vline, gtk_default_draw_hline):
2220         fix +/-1 errors. 
2221
2222         (gtk_default_draw_shadow): draw a black border around menus.
2223
2224         * gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
2225         calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
2226         x2 and y1, y2 respectively, not x, width and y, height).
2227
2228 Sat Jul  5 09:55:38 2003  Owen Taylor  <otaylor@redhat.com>
2229
2230         * gdk/x11/gdkdnd-x11.c (precache_target_list): Lookup
2231         all the atoms in the target list at once.
2232
2233         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
2234         Local drag short-circuit.
2235
2236         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): For the
2237         local case, poke the actions in directly instead of
2238         going through xdnd_set_actions.
2239
2240         * gdk/x11/gdkdnd-x11.c (xdnd_read_actions): Short-circuit
2241         the local case.
2242
2243         * gdk/x11/gdkdnd-x11.c (xdnd_manage_source_filter): Don't
2244         XSelectInput()/add a filter if the drag is local.
2245
2246         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_selection): 
2247         Simplify handling of "XdndSelection".
2248
2249         * gdk/x11/gdkevents-x11.c
2250         (gdk_event_send_client_message_to_all_recurse): Somehow,  
2251         a WM_STATE => _NET_WM_STATE change hand been made here.
2252
2253         * gdk/x11/gdkproperty-x11.c (_gdk_x11_precache_atoms): Free
2254         xatom_names, not atom_names.
2255
2256         * tests/testdnd.c (target_drag_motion): Make the trashcan
2257         open again. (Got lost in deprecation cleanup.)
2258
2259 Sat Jul  5 00:49:32 2003  Owen Taylor  <otaylor@redhat.com>
2260
2261         * gtk/gtkdnd.c (gtk_drag_begin): Move the grabs up
2262         earlier, so we don't get a big pile of uncompressed
2263         motion events before the grab takes effect.
2264
2265         * gtk/gtkdnd.c (gtk_drag_update_icon): Call 
2266         gdk_window_process_all_updates() so that the area
2267         we are dragging over gets a change to redraw.
2268
2269         * gtk/gtkdnd.c (_gtk_drag_dest_handle_event): Use 
2270         gdk_window_get_position(), not gdk_window_get_origin().
2271
2272         * gdk/x11/gdkwindow-x11.[ch] (gdk_window_have_shape_ext)
2273         gdkdisplay-x11.h: use XShapeQueryExtension to 
2274         avoid duplicate XQueryExtension when we actually
2275         use it. Remove unnecessary caching in GdkDisplayX11.
2276
2277 Fri Jul  4 23:49:22 2003  Owen Taylor  <otaylor@redhat.com>
2278
2279         * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info): 
2280         Function to get a range of information about all the
2281         children of a window in a single pass.
2282
2283         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
2284         gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
2285         _gdk_x11_get_window_child_info() to greatly reduce
2286         the number of roundtrips.
2287
2288 Fri Jul  4 22:57:18 2003  Owen Taylor  <otaylor@redhat.com>
2289
2290         * gdk/x11/gdkasync.[ch] (_gdk_send_xevent_async): Add
2291         a function to XSendEvent() and call a calback on
2292         failure/success.
2293
2294         * gdk/x11/gdkdnd-x11.c (xdnd_send_xevent): Short-circuit
2295         messages to the same process, use _gdk_send_xevent_async().
2296
2297 Fri Jul  4 22:26:27 2003  Owen Taylor  <otaylor@redhat.com>
2298
2299         * gdk/x11/gdkwindow-x11.[ch] gdkevents-x11.c: Split
2300         toplevel-specific pieces of GdkWindowImplX11 into
2301         a separate GdkToplevelX11 structure.
2302
2303 Fri Jul  4 22:05:09 2003  Owen Taylor  <otaylor@redhat.com>
2304
2305         * gdk/x11/gdkasync.c (struct _SetInputFocusState): Fix
2306         some leftover fields.
2307
2308 Fri Jul  4 15:57:52 2003  Owen Taylor  <otaylor@redhat.com>
2309
2310         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
2311         Use asynchronously _gdk_x11_set_input_focus_safe
2312         to avoid having to trap errors and XSync().
2313
2314         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
2315         _gdk_x11_set_input_focus_safe() here as well.
2316
2317         * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
2318         Rework handling of property notifies on _NET_WM_STATE
2319         so that we ignore _NET_WM_DESKTOP notifies unless we
2320         really care.
2321
2322         * gdk/x11/gdkimage-x11.c (gdk_image_check_xshm): Use
2323         XShmQueryExtension() rather than XQueryExtension() to
2324         avoid extra rountrip.
2325
2326         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
2327         Remove unused call to XGetWindowAttributes()
2328         
2329         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Remove
2330         unused call to XGetKeyboardControl().
2331
2332         * gdk/x11/gdkdisplay-x11.c gdk/gdk.def (gdk_display_flush):
2333         Add (#99571)
2334
2335         * gdk/win32/gdkevents-win32.c gdk/linux-fb/gdkevents-fb.c 
2336         No-op implementations of gdk_display_flush().
2337
2338         * gdk/gdkwindow.c (gdk_window_process_all_updates): Use
2339         gdk_display_flush() rather than gdk_flush() to avoid
2340         XSync().
2341         
2342         * gdk/x11/gdkwindow-x11.c (update_wm_hints)
2343         gdk/x11/gdkwindow-x11.h: Centralize all handling of WM_HINTS here
2344         so that we don't have to get the property back from the server.
2345
2346         * gdk/x11/gdkwindow-x11.c (show_window_internal): Store
2347         the serial of when we map a toplevel to allow optimizing
2348         out notifies on _NET_WM_STATE/_NET_WM_DESKTOP.
2349
2350         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Don't
2351         XTranslateCoordinates() for override-redirect windows.
2352
2353 Fri Jul  4 15:59:27 2003  Owen Taylor  <otaylor@redhat.com>
2354
2355         * gdk/x11/gdkwindow-x11.c (gdk_window_set_group): Remove comment
2356         about setting window group after the window is mapped from docs
2357         - nothing the ICCCM forbids that.
2358
2359         * gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
2360         Fix g_return_val_if_fail() in void return function.
2361
2362         * configure.in: Fix misplaced comma that was resulting
2363         in XShm always being disabled.
2364
2365 Fri Jul  4 19:55:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2366
2367         * tests/stresstest-toolbar: remove this accidentally committed
2368         file.
2369         
2370         * tests/stresstest-toolbar.c: really add this new test
2371
2372 Fri Jul  4 19:06:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2373
2374         * tests/stresstest-toolbar.c: new test for removing items
2375         
2376         * tests/testtoolbar.c: add a popup menu
2377
2378         * gtk/gtkcontainer.c (gtk_container_remove): add hack to avoid
2379           assert widget->parent == container when the container is a
2380           toolbar.
2381
2382         * gtk/gtktoolbar.c (gtk_toolbar_remove_tool_item): Make much
2383         simpler. Also make correct.
2384
2385         * gtk/gtktoolbar.c (gtk_toolbar_button_press): make
2386         popup_context_menu a boolean handled signal.
2387
2388 2003-07-04  Tor Lillqvist  <tml@iki.fi>
2389
2390         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_polygon,
2391         gdk_win32_draw_segments, gdk_win32_draw_lines): We can calculate
2392         the width and height of the bounding rectangle only after the
2393         minumum x and y have been found, and need a separate loop for
2394         it. Thanks to Bruce Hochstetler for providing a sample program
2395         exhibiting the bug.
2396
2397 2003-07-03  Tor Lillqvist  <tml@iki.fi>
2398
2399         * gdk/gdk.def: Add gdk_string_to_compound_text_for_display.
2400         (#116537, Peter Zelezny)
2401
2402 Thu Jul  3 03:13:20 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2403
2404         * gtk/gtkpaned.c (gtk_paned_set_child_property): Insert cast to
2405         fix warning. Assign something to old_value to quiet gcc
2406
2407         * gtk/gtkcalendar.c 
2408         (start_spinning): gtk_timeout_add->g_timeout_add
2409
2410         * gtk/gtkicontheme.c 
2411         (theme_lookup_icon): Make it compile (remove double semicolon)
2412
2413         * gtk/gtktoolbutton.c
2414         (gtk_tool_button_class_init): Long comment about properties.
2415         (gtk_tool_button_class_init): Improve text for "use_underline"
2416         property
2417         (gtk_tool_button_create_menu_proxy): Fix up to use_mnemonic based
2418         on whether the passed-in label has use_mnemonic set
2419         (gtk_tool_button_create_menu_proxy): Split image cloning out in
2420         new function. Make that function also handle image with pixbuf
2421         storage.
2422         (gtk_tool_button_construct_contents): Use gtk_widget_destroy()
2423         instead of gtk_container_remove().
2424         (gtk_tool_button_construct_contents): Fix eliding bug
2425
2426         * gtk/gtktoolbar.c
2427         (gtk_toolbar_finalize): New function. Unref tooltips, pointed out
2428         by Morten Welinder
2429         (gtk_toolbar_button_press): Make popup_context_menu signal provide
2430         coordinates and button number
2431
2432         * tests/testtoolbar.c (main): Add new pixbuf toolbutton
2433
2434         * tests/apple-red.png: new file
2435
2436 Wed Jul  2 18:00:56 2003  Owen Taylor  <otaylor@redhat.com>
2437          
2438         * gtk/gtkicontheme.[ch]: Implement a loader for
2439         named themed icon based on from gnome-desktop library
2440         by Alex Larsson.
2441
2442         * gtk/gtkiconthemeparser.[ch]: .ini file parsing code
2443         from gnome-desktop.
2444
2445         * gtk/gtkiconfactory.[ch]: Add
2446         gtk_icon_source_set/get_icon_name() to allow stock icons
2447         to be based off of named theme icons.
2448
2449         * gtk/gtkiconfactory.c: Rework sources so that the source
2450         is *either* a pixbuf, or a filename, or an icon name,
2451         instead of the pixbuf/filename mix it was before. Put a
2452         workaround for get_pixbuf() so that it can return the
2453         filename pixbuf, e.g, for render_icon().
2454
2455         * gtk/gtkiconfactory.c: Make the default setup use
2456         themed icons, and add builtin icons to the default
2457         icon theme for all the standard pixbufs, so we
2458         don't rely on actually having an icon theme on disk.
2459
2460         * gtk/gtkrc.c: Add support for @"icon-name" to specify
2461         a themed icon for a stock icon source.
2462
2463         * tests/Makefile.am test/testicontheme.c: Add a test
2464         program from gnome-desktop.
2465
2466         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
2467         Net/IconThemeName / gtk-icon-theme-name setting.
2468
2469         * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
2470         update the icon cache serial so we don't continually
2471         think we are out-of-date.
2472
2473         * gtk/gtkwidget.c: Fix a couple of references in doc comments 
2474         to ::direction_set that should have been to ::direction-changed
2475
2476 Wed Jul  2 14:45:41 2003  Owen Taylor  <otaylor@redhat.com>
2477
2478         * gtk/gtktoolbar.c (gtk_toolbar_realize): Attach the
2479         style to the widget.
2480
2481 Wed Jul  2 15:42:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2482
2483         * gtk/gtk.h: Add new toolbar headers
2484
2485         * tests/testtoolbar.c: new file
2486
2487         * tests/Makefile.am (noinst_PROGRAMS): Add testtoolbar.c
2488
2489         * gtk/gtkexpander.c (gtk_expander_class_init): Make it compile
2490
2491 Tue Jul  1 22:49:25 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2492
2493         * gtk/gtktoolbar.c:
2494         (gtk_toolbar_remove_tool_item): Fix bug where list is changed
2495         inside a for loop (pointed out by Morten Welinder).
2496         (gtk_toolbar_focus_home_or_end): Minor formatting change
2497
2498         Comments from Owen:
2499
2500         * gtk/gtktoolbutton.c: remove copy of elide_underscores(). Use
2501         gtk_toolbar_elide_underscores instead.
2502
2503         * gtk/gtktoolbar.c: rename signal from focus_ends to
2504         focus_home_or_end.
2505         (_gtk_toolbar_elide_underscores): export this as an internal
2506         function.
2507         (gtk_toolbar_move_focus): add comment explaining difference to
2508         gtk_toolbar_focus();
2509         (gtk_toolbar_list_children_in_focus_order): Make TAB_FORWARD and
2510         TAB_BACKWARD focus the right widgets in RTL mode
2511
2512         * gtk/gtktoolbutton.c (gtk_tool_button_new): Change to take
2513         "label" and "icon" parameters
2514
2515         * gtk/gtktoolbutton.[ch]: remove icon_set property.
2516
2517 2003-07-01  Matthias Clasen  <maclas@gmx.de>
2518
2519         * gtk/gtkspinbutton.c (gtk_spin_button_set_digits): Improve docs.
2520         (116364, Morten Welinder) 
2521
2522         * tests/testgtk.c: Use GtkFontButton and GtkColorButton to bring up the
2523         corresponding dialogs.
2524
2525         * gtk/Makefile.am (gtk_public_h_sources): Add gtkfontbutton.h,
2526         gtkcolorbutton.h.  
2527         (gtk_c_sources): Add gtkfontbutton.c, gtkcolorbutton.c. 
2528
2529         * gtk/gtkfontbutton.[hc]: New files containing a font picker widget. 
2530
2531         * gtk/gtkcolorbutton.[hc]: New files containing a color picker widget. 
2532
2533         * gtk/gtk.h: Include gtkexpander.h, gtkfontbutton.h, gtkcolorbutton.h.
2534
2535         * gtk/gtkexpander.c: Small additions to the docs. 
2536
2537 2003-07-01  Tor Lillqvist  <tml@iki.fi>
2538
2539         * gdk/win32/gdkwindow-win32.c (_gdk_windowing_window_get_pointer):
2540         WindowFromPoint() wants screen coordinates (#115422, Tim Evans).
2541
2542 2003-07-01  Matthias Clasen  <maclas@gmx.de>
2543
2544         * configure.in: Check for Xcursor.
2545         
2546         * gdk/x11/gdkcursor-x11.c:
2547         * gdk/gdkdisplay.h: 
2548         * gdk/gdkcursor.h: RGBA cursor support based on Xcursor. New functions:
2549         gdk_cursor_new_from_pixbuf(), gdk_display_supports_cursor_alpha(), 
2550         gdk_display_supports_cursor_color(),
2551         gdk_display_get_default_cursor_size() and 
2552         gdk_display_get_maximal_cursor_size().  (#69436)
2553
2554 2003-06-30  Tor Lillqvist  <tml@iki.fi>
2555
2556         * gdk/win32/gdkdnd-win32.c (find_window_enum_proc): New function,
2557         callback proc for EnumWindows().
2558         (gdk_drag_find_window_for_screen): Actually take the drag_window
2559         argument into account: Instead of using WindowFromPoint(), use
2560         EnumWindows(), to be able to skip the drag_window. (#116320, Tony
2561         M Brown, Herman Bloggs)
2562
2563         * gdk/win32/*.c: Replace gdk_drawable_ref()/unref() and
2564         gdk_window_ref()/unref() calls with g_object_ref()/unref().
2565         Consistently use %p format in debugging output of pointers and
2566         HANDLEs.
2567
2568 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
2569
2570         * gtk/gtkexpander.h: kill some stray characters
2571         breaking the build.
2572
2573 2003-06-30  Mark McLoughlin  <mark@skynet.ie>
2574
2575         Add GtkExpander. See discussion in bug #60553.
2576
2577         * gtk/gtkexpander.[ch]: add.
2578         
2579         * gtk/Makefile.am: build gtk-expander.[ch].
2580         
2581         * docs/widget_geometry.txt: add info on the layout
2582         of GtkExpander.
2583
2584 Mon Jun 30 01:20:19 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2585
2586         * gtkradiotoolbutton.c:         new file
2587         * gtkradiotoolbutton.h:            "
2588         * gtktoggletoolbutton.c:           "
2589         * gtktoggletoolbutton.h:           "
2590         * gtktoolbutton.c:                 "
2591         * gtktoolbutton.h:                 "
2592         * gtktoolitem.c:                   "
2593         * gtktoolitem.h:                   "
2594         * gtktoolbar.c: many changes
2595         * gtktoolbar.h: many changes
2596         * gtkseparatortoolitem.c:       new file
2597         * gtkseparatortoolitem.h           "
2598
2599         New toolbar.
2600         
2601         - Items on a toolbar are now separate widgets, instances of a
2602           subclass of GtkToolItem.
2603
2604         - Items there aren't room for on the toolbar are unmapped, and an
2605           overflow menu with a proxy menu item is added instead.
2606
2607         - The toolbar is keyboard navigatable. Press TAB to focus the
2608           first item, then use arrow keys and Ctrl TAB to move around the
2609           toolbar. TAB moves focus out of the toolbar.
2610
2611         - Bascially all of the old toolbar API is deprecated in favor of
2612           new API in gtktoolbar.h, gtktoolitem.h, gtktoolbutton.h
2613
2614         - The toolbar is backwards compatible with the old toolbar.
2615
2616 2003-06-29  Matthias Clasen  <maclas@gmx.de>
2617
2618         * gtk/gtkwidget.c (gtk_widget_class_init): Remove a duplicate parameter
2619         from docs, some more formatting fixes. 
2620
2621 2003-06-28  Tor Lillqvist  <tml@iki.fi>
2622
2623         Fix for #111028, thanks to J. Ali Harlow, who writes:
2624         I found that the GdkPixmap->GdkImage reference really isn't
2625         important. It's only really there to have somewhere convenient to
2626         store the location of the pixel data in the pixmap and as an easy
2627         way of accessing the dimensions of that data. I have therefore put
2628         together a fix which removes this reference entirely which seems
2629         to solve the problem.
2630
2631         * gdk/win32/gdkpixmap-win32.h (struct _GdkPixmapImplWin32):
2632         Instead of a pointer to a GdkImage, keep a pointer to the pixels
2633         directly.
2634
2635         * gdk/win32/gdkimage-win32.c (_gdk_win32_setup_pixmap_image): Remove.
2636         (_gdk_win32_new_image): New function, replacing the above. Creates
2637         a GdkImage without any associated GdkPixmap.
2638         (gdk_image_new_bitmap, _gdk_image_new_for_depth): Use it instead.
2639
2640         * gdk/win32/gdkprivate-win32.h: Remove from here, too.
2641
2642         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap)
2643         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap)
2644         * gdk/win32/gdkgc-win32.c (_gdk_win32_bitmap_to_hrgn)
2645         * gdk/win32/gdkmain-win32.c (_gdk_win32_drawable_description):
2646         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize,
2647         gdk_pixmap_new, gdk_bitmap_create_from_data, gdk_pixmap_foreign_new)
2648         Corresponding changes.
2649
2650 Thu Jun 26 21:41:16 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2651
2652         * gtk/gtktreeviewcolumn.c
2653         (gtk_tree_view_column_cell_set_cell_data): only set "is_expander"
2654         and "is_expanded" if the new value is different fromt he old one.
2655
2656 Wed Jun 25 18:59:15 BST 2003  Tony Gale <gale@gtk.org>
2657
2658         * docs/faq/gtk-faq.sgml: Fix typos. Update
2659         thread example I missed yesterday.
2660
2661 2003-06-24  Matthias Clasen  <maclas@gmx.de>
2662
2663         * gtk/gtkspinbutton.c (gtk_spin_button_class_init): Add a blurb for
2664         shadow_type. 
2665
2666         * gtk/gtkwidget.c (gtk_widget_class_install_style_property_parser): 
2667         (gtk_widget_class_list_style_properties): Use same parameter names as in  
2668         header (to silence gtk-doc).
2669
2670         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Fix doc comments.
2671
2672 Tue Jun 24 20:00:45 BST 2003  Tony Gale <gale@gtk.org>
2673
2674         * docs/faq/gtk-faq.sgml: Thread support updates
2675         from Owen. Various suggestions from Steve Chaplin.
2676
2677 2003-03-24  Mohammad DAMT  <mdamt@bisnisweb.com>
2678
2679         * po/id.po: Updated Indonesian translation
2680
2681 2003-06-21  Tor Lillqvist  <tml@iki.fi>
2682
2683         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When
2684         emulating X11's automatic grab on button down, pass owner_events
2685         as FALSE. According to the XLib spec, automatic grabs use True for
2686         owner_events when OwnerGrabButtonMask is selected, and I don't see
2687         the X11 backend doing that. (#82497, #91619, #92835, #107322, #110271)
2688         (find_window_for_pointer_event): Improve debugging output.
2689
2690 2003-06-17  Tor Lillqvist  <tml@iki.fi>
2691
2692         * gtk-zip.sh.in (DLLDIR): Look for DLLs also in the bin
2693         subdirectory, where libtool 1.5 installs them.
2694
2695         * README.win32: Point to FSF's binary Win32 distribution of
2696         gettext-runtime.
2697
2698 2003-06-17  Matthias Clasen  <maclas@gmx.de>
2699
2700         * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
2701         macros to check for XML catalog contents and path, borrowed from
2702         gtk-doc. 
2703         * configure.in: New option --enable-man to enable regeneration of
2704         man pages from Docbook, if the necessary tools are found.
2705
2706 2003-06-15  Matthias Clasen  <maclas@gmx.de>
2707
2708         * gtk/gtkcalendar.c (gtk_calendar_class_init): 
2709         * gtk/gtknotebook.c (gtk_notebook_class_init): 
2710         * gtk/gtkalignment.c (gtk_alignment_class_init): 
2711         * gtk/gtkpaned.c (gtk_paned_class_init): Document new properties
2712         as 2.4 additions.
2713
2714         * gtk/gtkwidget.c (gtk_widget_class_init): Move inline signal docs 
2715         to the proper place, immediately before the g_signal_new() call.
2716
2717         * gtk/gtktextiter.h: Make the flags-nature of GtkTextSearchFlags 
2718         more obvious.  (#115122, Jeff Franks)
2719
2720 2003-06-12  Anders Carlsson  <andersca@codefactory.se>
2721
2722         * gtk/gtkwidget.c: (event_window_is_still_viewable):
2723         Special case pixmaps. (#114880)
2724         
2725 2003-06-12  Matthias Clasen  <maclas@gmx.de>
2726
2727         * gtk/gtkwidget.c: Document child-notify and drag-data-received
2728         signals. Owen, we need to figure out where the best place for
2729         these comments in the source is. I currently put them in front of
2730         the signals enum.
2731
2732 2003-06-11  Matthias Clasen  <maclas@gmx.de>
2733
2734         * gtk/gtkdnd.c (gtk_drag_check_threshold): s/threshhold/threshold/.
2735
2736 Thu Jan 12 01:01:19 2003  Kristian Rietveld  <kris@gtk.org>
2737
2738         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
2739         silly typo fix. s/seperator/separator/. This gets rid of the
2740         assert spam when using TreeView.
2741
2742 Tue Jun 10 11:23:48 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
2743
2744         * modules/input/gtkimcontextxim.c (xim_instantiate_callback): New
2745         function for XIM instantiate callback.
2746         * modules/input/gtkimcontextxim.c (xim_info_try_im): New function
2747         where call to XOpenIM() or XRegisterIMInstantiateCallback() is
2748         actually made.
2749         * modules/input/gtkimcontextxim.c (xim_destroy_callback): New function
2750         for XIM's destroy callback.
2751         * modules/input/gtkimcontextxim.c (get_im): add a check if info->im 
2752         is set or not - if it's not set, call xim_info_try_im() to try to
2753         initiaize it.
2754         * modules/input/gtkimcontextxim.c (reinitialize_ic): reset
2755         filter_key_release flag of the context.
2756         * modules/input/gtkimcontextxim.c (get_ic_real): removed
2757         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic): move
2758         code from the removed get_ic_real().
2759
2760         For XIM instantiation, destruction and re-instantiation. With
2761         this, Gtk+ apps will be able to connect or reconnect to the XIM,
2762         when it starts after the apps, or when the XIM gets lost and recover.
2763         (#113099, #107782).
2764
2765 Mon Jun 10 01:12:31 2003  Kristian Rietveld  <kris@gtk.org>
2766
2767         Merged from stable.
2768
2769         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size):
2770         check if width is !null, not *width. Doh.
2771
2772 Tue Jun 10 01:09:33 2003  Kristian Rietveld  <kris@gtk.org>
2773
2774         Merged from stable.
2775
2776         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
2777         Remove the weird dx logic, get all cell_area and background_area
2778         calculations right. Not sure what was up with it before. (Fixes
2779         #110989, testcase from Vasco Alexandre da Silva Costa).
2780
2781 Tue Jun 10 00:58:23 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2782
2783         * tests/testgtk.c: Make it compile with C89 compilers
2784
2785 2003-06-10  Matthias Clasen  <maclas@gmx.de>
2786
2787         * gtk/gtktextview.c (gtk_text_view_class_init): Install boolean
2788         property "overwrite".
2789         (gtk_text_view_[gs]et_property): Handle "overwrite".
2790         * gtk/gtktextview.[hc] (gtk_text_view_[gs]et_overwrite): Getter
2791         and setter for "overwrite" property.  (#110241, Jeroen Zwartepoorte)
2792
2793 2003-06-09  Matthias Clasen  <maclas@gmx.de>
2794
2795         * gtk/gtkpaned.c (gtk_paned_class_init): Install boolean child
2796         properties "resize" and "shrink".
2797         (gtk_paned_[gs]et_child_property): Implementations of 
2798         GtkContainer::[gs]et_child_property.  
2799         * tests/testgtk.c (toggle_resize, toggle_shrink): Use the new
2800         paned child properties instead of remove/add hacks.  (#114667, 
2801         Soeren Sandmann) 
2802
2803 Mon Jun  9 16:18:11 2003  Owen Taylor  <otaylor@redhat.com>
2804
2805         * gtk/gtknotebook.c (gtk_notebook_button_press): Back
2806         out event->window test - it wasn't needed because
2807         of the call to get_widget_coordinates().
2808
2809         * gtk/gtknotebook.c (gtk_notebook_button_press): Remove
2810         call to gtk_widget_grab_focus() when not clicking on
2811         any tabs. (Real fix for #114534)
2812
2813 Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>
2814
2815         * tests/testdnd.c: Use application/x-rootwindow-drop for
2816         root window drops. (#108670, Alex Larsson)
2817
2818         * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): 
2819         Accept either application/x-rootwin-drop (what GTK+ has always used)
2820         or application/x-rootwindow-drop (what the XDND standard specifies).
2821
2822 Fri Jun  6 11:07:33 2003  Owen Taylor  <otaylor@redhat.com>
2823
2824         * gtk/gtkwidget.c (event_window_still_viewable): 
2825         Before delivering an event to a widget, check that
2826         (if relevant), the event's window is still viewable.
2827         (#105642, Dennis Björklund)
2828
2829         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): 
2830         NULL out private->parent, since after destruction
2831         it might not be valid any more.
2832
2833         * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
2834         accesses before g_return_val_if_fail(). Treat 
2835         DESTROYED windows as unmapped.
2836
2837 Thu Jun  5 09:28:03 2003  Owen Taylor  <otaylor@redhat.com>
2838
2839         * gtk/gtkentry.c: Recompute unconditionally in
2840         gtk_entry_style_set, and in a new gtk_label_screen_changed().
2841         Protect the guts of recompute_idle_func() with
2842         gtk_widget_has_screen(). (#114040, Morten Welinder) 
2843         Fix FALSE/0 confusion.
2844         
2845 Sun Jun  8 18:27:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
2846
2847         * gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
2848         Fixes (#114669)
2849
2850 Sun Jun  8 11:27:29 2003  Owen Taylor  <otaylor@redhat.com>
2851
2852         * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with 
2853         set_adjustment (viewport, NULL);
2854
2855 2003-06-07  Matthias Clasen  <maclas@gmx.de>
2856
2857         * gtk/gtkiconfactory.c (get_default_icons): 
2858         * gtk/stock-icons/stock_{undo,redo,undelete,revert}_rtl_{16,24}.png:
2859         * gtk/stock-icons/Makefile.am: Add rtl variants of undo, redo,
2860         undelete and revert.  (#96633)
2861         
2862 Fri Jun  6 16:25:44 2003  Owen Taylor  <otaylor@redhat.com>
2863
2864         * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and 
2865         refactoring of code to reduce duplication; fixes include:
2866
2867         - gtk_viewport_realize(): Position the window correct from adjustment 
2868         values. (#110737, Michael Natterer)
2869
2870         - Remove some division-by-zero checks in places where there is no 
2871         longer division. (#110737)
2872
2873         - gtk_viewport_class_init: Make the hadjustment/vadjustment properties 
2874         G_PARAM_CONSTRUCT, so that there will always be adjustments, even 
2875         if gtk_viewport_new isn't used (#101135, Thomas Leonard).
2876
2877         - Switch over to encapsulated lazy-creation for hadjustment/
2878         vadjustment; even with the CONSTRUCT property, we need this after
2879         destroy.
2880
2881         - When updating the adjustment, immediate set their values to
2882         match the the current range of the viewport, and update the 
2883         viewport position to match the value of the new adjustments. 
2884         (Part of #1165)
2885
2886 2003-06-06  Tor Lillqvist  <tml@iki.fi>
2887
2888         * gdk/win32/gdkprivate-win32.h: Fix typo.
2889
2890         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
2891         graphics_exposures and subwindow_mode, too, even if they aren't
2892         currently used.
2893
2894 Fri Jun  6 23:38:23 2003  Kristian Rietveld  <kris@gtk.org>
2895
2896         Merged from stable.
2897
2898         * gtk/gtktreeview.c (do_expand_collapse),
2899         (expand_collapse_timeout), (cancel_arrow_animation): made
2900         expand_collapse_timeout a wrapper with locks around     
2901         do_expand_collapse, made cancel_arrow_animation use
2902         do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
2903         Peter Bloomfield).
2904
2905 Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
2906
2907         * modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
2908         * modules/input/gtkimcontextxim.c (preedit_start_callback,
2909         preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag 
2910         to keep preedit-[start,changed,end] signals from being called during
2911         finalization (#111861).
2912
2913 2003-06-05  Noah Levitt  <nlevitt@columbia.edu>
2914
2915         * gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button
2916         presses that are not on the tab (#114534).
2917
2918 Thu Jun  5 20:35:40 2003  Owen Taylor  <otaylor@redhat.com>
2919
2920         * demos/Makefile.am: Conditionalize dependencies for
2921         gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe). 
2922         Buildtest-inline-pixbufs.h in srcdir. Don't try to build 
2923         test-inline-pixbufs.h if we don't have libpng.
2924
2925         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): 
2926         Add a dependency on gdk-pixbuf.loaders when not 
2927         cross-compiling, remove the dependency on gdk-pixbuf-csource
2928         when not cross compiling.
2929
2930 Thu Jun  5 20:12:51 2003  Owen Taylor  <otaylor@redhat.com>
2931
2932         * gtk/gtkwindow.c (gtk_window_get_default_size): Handle
2933         gtk_window_get_geometry_info() returning NULL.
2934         (#107311, John Finlay)
2935
2936 Thu Jun  5 19:24:33 2003  Owen Taylor  <otaylor@redhat.com>
2937
2938         * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off
2939         twice the border width from the width/height, not
2940         1x the border width. (#106336, Rodney Dawes)
2941
2942 Thu Jun  5 15:33:38 2003  Owen Taylor  <otaylor@redhat.com>
2943  
2944         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
2945         If at the end of the buffer, move to the end iter -
2946         parallels behavior of move_iter_to_previous_line.
2947         (#81960, Padraig O'Briain)
2948  
2949 Thu Jun  5 16:12:54 2003  Owen Taylor  <otaylor@redhat.com>
2950
2951         #80023, Yao Zhang, TOKUNAGA Hiroyuki
2952
2953         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
2954         Account for the preedit cursor offset if the iter passed
2955         in is at the same place as the insertion cursor.
2956
2957         * gtk/gtktextview.c (gtk_text_view_get_cursor_location):
2958         Encapsulate getting the insertion cursor location.
2959
2960         * gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
2961         Pass the real y/height to the IM context. Take 
2962         text_view->x/yoffset into account.
2963
2964 Thu Jun  5 16:52:54 2003  Owen Taylor  <otaylor@redhat.com>
2965
2966         * gtk/gtktextview.[ch]: Never scroll on focus in
2967         (#81893, Patch from Paolo Maggi)
2968
2969         * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages): 
2970         Scroll to the current cursor location before handling
2971         the action, in case the user just tabbed in
2972         and the cursor is offscreen.
2973
2974 Thu Jun  5 17:20:40 2003  Owen Taylor  <otaylor@redhat.com>
2975          
2976          #107883, Gustavo Giráldez
2977
2978         * gtk/gtktextlayout.c (gtk_text_layout_emit_changed):
2979         Split out the case where we know we changed, and 
2980         already dealt with our cached line being invalidated
2981         from external calls to gtk_text_layout_changed.
2982
2983         * gtk/gtktextlayout.c (gtk_text_layout_changed):
2984         Check if the invalidate yrange intersects our
2985         cached line, and clear it if necessary.
2986
2987 2003-06-05  Tor Lillqvist  <tml@iki.fi>
2988
2989         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
2990         filters.
2991
2992 2003-06-05  Matthias Clasen  <maclas@gmx.de>
2993
2994         * gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson:
2995         (gtk_text_view_grab_notify): 
2996         (gtk_text_view_state_changed): Implement these
2997         to unobscure cursor when grab shadowed or insensitised.
2998         (gtk_text_view_unobscure_mouse_cursor): New function to undo the
2999         effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
3000         gtk_text_view_motion_event().
3001         (gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().
3002
3003         * gtk/gtktextview.c (select_all): New keybinding signal for
3004         (un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)
3005
3006         * gtk/gtkcalendar.c (calendar_timer): 
3007         (stop_spinning): Replace deprecated gtk_timeout_* functions by
3008         their GLib counterparts.  (#114429)
3009
3010         * gtk/gtktreestore.c (gtk_tree_store_new): 
3011         * gtk/gtkliststore.c (gtk_list_store_new): Document restriction on 
3012         types.
3013
3014 Wed Jun  4 19:42:17 2003  Owen Taylor  <otaylor@redhat.com>
3015
3016         * gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
3017         When drawing underlines, join up adjacent runs
3018         where possible, so we don't get changes in 
3019         shaper/font/etc. breaking underlines. (#103662,
3020         Kang Jeong-Hee)
3021
3022 Wed Jun  4 19:22:58 2003  Jonathan Blandford  <jrb@redhat.com>
3023
3024         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
3025         Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
3026         improve the speed of inserting rows into an already sorted list,
3027         #109292
3028
3029 Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>
3030
3031         * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
3032         track of when we have a clip mask set for the GC,
3033         and when we unset it, or switch to a clip region,
3034         immediately call XSetClipMask (..., None) to avoid
3035         Xlib caching stale data. (#111806)
3036
3037         * gtk/gtktextdisplay.c: Don't set a clip mask
3038         when drawing alpha pixmaps; it isn't necessary any more.
3039         (#111806)
3040
3041 Wed Jun  4 18:27:44 2003  Owen Taylor  <otaylor@redhat.com>
3042
3043         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): 
3044         gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): 
3045         Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE
3046         (#92548, Tim Evans)
3047
3048         * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
3049         gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
3050         Use state_type = STATE_INSENSITIVE for insensitive menu items.
3051
3052 Wed Jun  4 21:25:35 2003  Kristian Rietveld  <kris@gtk.org>
3053
3054         Merged from stable.
3055
3056         * gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
3057         assert for get_info. (reported by Michael Natterer),
3058         (gtk_tree_view_expand_all_emission_helper),
3059         (gtk_tree_view_expand_all_helper): emit row_expanded for all
3060         expanded rows during an _expand_all operation. (Fixes #111280,
3061         reported by Benjamin Bayart).
3062
3063 Tue Jun  3 18:32:30 2003  Owen Taylor  <otaylor@redhat.com>
3064
3065         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
3066         respond to pings on a root window; prevents infinite
3067         loops if we are selecting for SubstructureNotify on the
3068         root window. (#111945, Sergey V. Udaltsov)
3069
3070 Tue Jun  3 17:39:16 2003  Owen Taylor  <otaylor@redhat.com>
3071
3072         #71597, reported by Morten Welinder
3073
3074         * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
3075         (Patch from Christian Petig)
3076
3077         * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
3078         Major rewrite of 555 and 565 conversion routines:
3079
3080         - Move all the bit shifting into a small block of macros,
3081           eliminating much duplication of complicated arithmetic.
3082         - Get rid of 2-pixels at a time code, which was buggy,
3083           hard to maintain, caused unaligned accesses, and
3084           probably didn't actually perform any better.
3085         - Simplify cases where different data types were
3086           used for the little and big endian cases, use
3087           GUINT16_SWAP_LE_BE() where appropriate.
3088                 
3089 Tue Jun  3 15:05:47 2003  Owen Taylor  <otaylor@redhat.com>
3090
3091         * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
3092         bad optimization for src_rowstride == dest_stride.
3093         (Didn't consider the case where we were copying only
3094         partial widths of a wider source buffer)
3095         (#113034, reported by Hans Petter Jansson)
3096
3097 2003-06-03  Michael Natterer  <mitch@gimp.org>
3098
3099         * gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
3100         reenabled button_release events for xinput devices. (#113948)
3101
3102 2003-06-03  Christian Rose  <menthos@menthos.com>
3103
3104         * configure.in: Added "li" to ALL_LINGUAS.
3105
3106 Mon Jun  2 18:58:54 2003  Owen Taylor  <otaylor@redhat.com>
3107
3108         * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
3109         map the event window if the notebook isn't mapped. (#113980,
3110         Richard Reich)
3111
3112 2003-06-02  Sven Neumann  <sven@gimp.org>
3113
3114         * gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.
3115
3116         * gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.
3117
3118 2003-06-01  Matthias Clasen  <maclas@gmx.de>
3119
3120         * gtk/gtkalignment.c (gtk_alignment_[gs]et_padding): Add 
3121         Since: 2.4 to the docs.
3122
3123         * gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and
3124         an example to the docs.  (#98427)
3125
3126 2003-05-30  Murray Cumming  <murrayc@usa.net>
3127
3128         * gtk/gtkalignment.[h|c]: Added 4-sided padding as properties with
3129         gtk_alignment_get_padding() and gtk_aligment_set_padding(). This
3130         uses the new private data system - see g_type_class_add_private() in
3131         gtk_alignment_class_init() and the use of GTK_ALIGNMENT_GET_PRIVATE().
3132
3133 2003-05-30  Matthias Clasen  <maclas@gmx.de>
3134         
3135         * gtk/gtknotebook.c: Changed guint to GtkNotebookArrow in the
3136         signature of gtk_notebook_draw_arrow() for Solaris builds to go
3137         through.  (#114043, Anand Subramanian)
3138
3139 Thu May 29 18:30:35 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3140
3141         * modules/input/imipa.c: 
3142         use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).
3143
3144 Thu May 29 18:08:01 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3145
3146         * gtk/gtkimmodule.c (_gtk_im_module_list):
3147         use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
3148
3149 Thu May 29 09:34:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3150
3151         * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default"
3152         label of default input method localizable.
3153         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems): 
3154         use translations of input method context names
3155         * modules/input/imam-et.c, modules/input/imcyrillic-translit.c,
3156           modules/input/iminuktitut.c, modules/input/imthai-broken.c,
3157           modules/input/imti-er.c, modules/input/imti-et.c
3158           modules/input/imviqr.c, modules/input/imxim.c
3159         use GETTEXT_PACKAGE instead of "gtk+" for domain name.
3160         (#113850).
3161
3162 Thu May 29 18:23:01 2003  Kristian Rietveld  <kris@gtk.org>
3163
3164         Merged from stable.
3165
3166         * gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
3167         grab separate, the user might clear the tree in the focus-in
3168         callback. (Fixes #113086, testcase from Felipe Heidrich).
3169
3170 Thu May 29 18:06:26 2003  Kristian Rietveld  <kris@gtk.org>
3171
3172         Merged from stable.
3173
3174         * gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
3175         of row reference when we unset the model. Also reset
3176         dy and top_row_dy. (Fixes #109289, patch from Owen Taylor).
3177
3178 Thu May 29 17:12:19 2003  Kristian Rietveld  <kris@gtk.org>
3179
3180         Merged from stable.
3181
3182         * gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
3183         the current editing, if it exists. (Fixes #108956, reported by
3184         Michael Natterer).
3185
3186 Thu May 29 17:06:09 2003  Kristian Rietveld  <kris@gtk.org>
3187
3188         Merged from stable.
3189
3190         * gtk/gtktreeview.c (check_selection_helper): new function,
3191         (gtk_tree_view_row_deleted): traverse the tree from the
3192         deleted node to see whether the selection changed, instead of
3193         just checking this node. (Fixes #107400, reported by 'Duncan').
3194
3195 Thu May 29 16:31:34 2003  Kristian Rietveld  <kris@gtk.org>
3196
3197         Merged from stable.
3198
3199         * gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
3200         (gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
3201         instead of _maybe_begin_dragging_row, so the icon can be
3202         overridden by apps. (Fixes #104374, patch from Daniel Elstner).
3203
3204 Thu May 29 16:14:04 2003  Kristian Rietveld  <kris@gtk.org>
3205
3206         Merged from stable.
3207
3208         * gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
3209         cell_area x/width for the expander if needed. (Fixes #101748,
3210         reported by Dave Cook and Mariano Suarez-Alvarez).
3211
3212 Thu May 29 16:01:38 2003  Kristian Rietveld  <kris@gtk.org>
3213
3214         Merged from stable.
3215
3216         * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
3217         if tree/node are still the same after _internal_select_node.
3218         (Fixes #92256, reported by edscott).
3219
3220 Thu May 29 15:38:30 2003  Kristian Rietveld  <kris@gtk.org>
3221
3222         Fixes #75745, reported by Richard Hult. Merged from stable.
3223
3224         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
3225         GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
3226         cursor or not.
3227
3228         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
3229         if we are rendering a cursor row, and the cell the be
3230         processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
3231         flag (else we unset it).
3232
3233 2003-05-27  Matthias Clasen  <maclas@gmx.de>
3234
3235         * gtk/gtkwindow-decorate.c: 
3236         * gtk/gtktreeprivate.h: 
3237         * gtk/gtkdnd.c: 
3238         * gdk/win32/gdkwindow-win32.h: 
3239         * gdk/linux-fb/gdkprivate-fb.h: 
3240         * gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
3241         unspecified signedness.  (#112919, Morten Welinder)
3242
3243         * gtk/queryimmodules.c (escape_string): 
3244         * gtk/gtktextbtree.c (_gtk_text_btree_get_text): 
3245         * gtk/gtksettings.c (_gtk_settings_parse_convert): 
3246         * gtk/gtkrc.c (gtk_rc_parse_assignment): 
3247         * gtk/gtkinputdialog.c (gtk_input_dialog_set_key): 
3248         * gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all 
3249         occurances of g_string_new ("") by g_string_new (NULL). (#106975,
3250         Morten Welinder) 
3251
3252 2003-05-27  Tor Lillqvist  <tml@iki.fi>
3253
3254         * gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
3255         files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.
3256
3257         * gdk/Makefile.am: libgdk-win32-2.0.la depends on
3258         win32/libgdk-win32.la.
3259
3260         * gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
3261
3262 Sat May 24 22:19:13 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3263
3264         * gtk/gtkscrollbar.c (gtk_scrollbar_class_init): Make the minimum
3265         scrollbar slider length 21 instead of 7.
3266
3267 2003-05-23  Matthias Clasen  <maclas@gmx.de>
3268
3269         * gtk/gtknotebook.c: Add support for up to four scroll
3270         arrows. Control their display by new style properties
3271         "has_forward_stepper", "has_backward_stepper",
3272         "has_secondary_forward_stepper" and
3273         has_secondary_backward_stepper". (#110540)
3274
3275         * gtk/gtknotebook.h (struct _GtkNotebook): Make in_child and
3276         click_child three bits wide, add
3277         has_{before,after}_{previous,next} fields.
3278
3279         * gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
3280         focus out of hex_entry.  (#112665)
3281         (hex_focus_out): New signal handler for focus out of hex entry.
3282
3283 Wed May 21 19:01:06 2003  Owen Taylor  <otaylor@redhat.com>
3284
3285         * gtk/gtkwidget.c (gtk_widget_realize): 
3286         g_return_if_fail() if
3287         GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget).
3288         (#107872, Christian Reis)
3289
3290 2003-05-22  Matthias Clasen  <maclas@gmx.de>
3291
3292         * gtk/gtkfilesel.c (gtk_file_selection_create_dir): 
3293         (gtk_file_selection_rename_file): Some keynav improvements for the
3294         "Rename File" and "Create Directory" subdialogs: Enter in entry
3295         activates default, default is "Create"/"Rename", Escape cancels
3296         dialog.  (#113110)
3297         (gtk_file_selection_set_filename): Add a hint about opening 
3298         directories.  (#113175)
3299
3300 2003-05-22  Matthias Clasen  <maclas@gmx.de>
3301
3302         * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_update_xft_clip):
3303         Use XftDrawSetClipRectangles(), since we're inside HAVE_XFT2
3304         anyway.  (#113476)
3305
3306 Wed May 21 15:53:14 2003  Owen Taylor  <otaylor@redhat.com>
3307
3308         * gtk/gtkprogress.c (gtk_progress_set_format_string,
3309         gtk_progress_set_show_text): Always queue a resize ... 
3310         we rely on the size-allocate to do the update, plus a 
3311         different format can actually change our size requisition.
3312         (#111052, Vasco Alexandre da Silva Costa)
3313
3314         * gtk/gtkprogress.c (gtk_progress_changed): Track
3315         ::changed as well as ::value_changed, and queue a
3316         resize on ::changed when necessary.
3317
3318         * gtk/gtkprogress.c (gtk_progress_set_adjustment): 
3319         Call gtk_progress_changed() here to update or 
3320         queue a resize as necessary.
3321
3322 Wed May 21 14:06:13 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3323
3324         * gtk/gtkimcontextsimple.c: added composing rules of
3325         Greek accented letters, patch by Vasilis Vasaitis (#107507)
3326
3327 Wed May 21 13:19:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3328
3329         * gtk/gtkenums.h (enum GtkIMPreeditStyle, GtkIMStatusStyle): 
3330         * modules/input/gtkimcontextxim.c (preedit_style_change, status_style_change):
3331         gtk settings for XIMPreeditNone and XIMStatusNone. (#105909)
3332
3333 Wed May 21 12:10:25 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3334
3335         * gtk/gtkimcontextsimple.c: 
3336         code that can check the compose table for ascending order,
3337         by Vasilis Vasaitis (#104862).
3338
3339 Wed May 21 12:52:01 2003  Owen Taylor  <otaylor@redhat.com>
3340
3341         * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need 
3342         to pass the unmasked state to gdk_keymap_translate_keyboard_state() 
3343         to handle the case where a modifier not in the mask
3344         (like Num_Lock) changes the key value, so replace
3345         the masked state with a state/mask pair. (#106913,
3346         Olivier Ripoll)
3347
3348         * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
3349         in state/mask pair to _gtk_key_hash_lookup()
3350
3351 Tue May 20 21:58:00 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
3352
3353         * modules/input/gtkimcontextxim.c (xim_info_display_closed):
3354         fix a memory leak, free input context list (#113259).
3355
3356 2003-05-21  Matthias Clasen  <maclas@gmx.de>
3357
3358         * configure.in (all_loaders): Add pcx.
3359
3360         * gtk/gtkcalendar.c: Make calendar controls spin.  (#112540)
3361
3362 Tue May 20 17:27:24 2003  Owen Taylor  <otaylor@redhat.com>
3363
3364         * gtk/gtkimmodule.c (gtk_im_module_init): Silently
3365         accept a missing gtk.immodules file, some people
3366         want to run without one. (#112406, patch from
3367         Arnaud Charlet)
3368
3369 Tue May 20 17:05:31 2003  Owen Taylor  <otaylor@redhat.com>
3370
3371         * gtk/gtkwindow.c (gtk_window_compute_hints): Fix 
3372         height/width confusion (#113370, Xan Lopez)
3373
3374 Tue May 20 15:48:45 2003  Owen Taylor  <otaylor@redhat.com>
3375
3376         * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
3377         zero all unused parts of client messages (Mainly Motif DND
3378         and EWMH). Also, fix a couple places where we were putting
3379         contents into Motif DND messages that didn't belong.
3380         (#113361, EWMH problem reported by Lubos Lunak)
3381
3382         * gtk/gtkselection.c (_gtk_selection_request): Handle the
3383         case where the property type for the multiple atoms is
3384         ATOM_PAIR by doing the conversions ourselve. This is
3385         needed for Xt inter-operation.
3386
3387 2003-05-19 Arafat Medini <lumina@silverpen.de>
3388
3389         * configure.in: Added ar to ALL_LINGUAS
3390
3391 2003-05-19  Matthias Clasen  <maclas@gmx.de>
3392
3393         * gtk/gtksettings.c (gtk_rc_property_parse_border,
3394         gtk_rc_property_parse_color, gtk_rc_property_parse_enum,
3395         gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition):
3396         Add docs.
3397
3398         * gtk/gtkwidget.c (gtk_widget_class_install_style_property, 
3399         gtk_widget_class_install_style_property_parser): Add docs. 
3400
3401 2003-05-17  Matthias Clasen  <maclas@gmx.de>
3402
3403         * tests/prop-editor.c: Add navigation for object properties, so
3404         that you can easily edit the properties of the parent of a widget.
3405         (#113152)
3406
3407 Wed May 14 17:45:32 2003  Owen Taylor  <otaylor@redhat.com>
3408
3409         * gdk/gdkkeysyms.h gdk/gdkkeynames.c gdk/gdkkeyuni.c:
3410         Patch from Vasilis Vasaitis to fix Greek_IOTAdi[a]eresis 
3411         inconsistency and leave the old name as an aliass (#104873)
3412
3413 Wed May 14 16:40:09 2003  Owen Taylor  <otaylor@redhat.com>
3414
3415         * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
3416         from Charles Schmidt to add missing notify (#108305)
3417
3418 Wed May 14 16:00:51 2003  Owen Taylor  <otaylor@redhat.com>
3419  
3420         * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
3421         (#105500, Morten Welinder.)
3422  
3423 Wed May 14 09:05:11 2003   Hidetoshi Tajima <hidetoshi.tajima@sun.com>
3424
3425         * modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
3426         instead of gumake for XNFilterEvents event mask(#110493).
3427
3428 2003-05-11  Anders Carlsson  <andersca@codefactory.se>
3429
3430         * gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
3431         a GObject. (#112762)
3432
3433 2003-05-08  Sven Neumann  <sven@gimp.org>
3434
3435         * configure.in: set the HAVE_X11R6 automake conditional to false
3436         if not compiling for X11.
3437
3438 2003-05-08  Matthias Clasen  <maclas@gmx.de>
3439
3440         * gtk/gtkcalendar.[ch] (gtk_calendar_set_display_options): 
3441         (gtk_calendar_get_display_options): New functions.
3442         (gtk_calendar_display_options): Depreate.  (#64567)
3443         (gtk_calendar_class_init): Add boolean properties for the display
3444         options.  (#50949)
3445
3446 Tue May  6 16:50:52 2003  Owen Taylor  <otaylor@redhat.com>
3447
3448         Patch from James Henstridge to update to automake-1.7
3449         (#109542)
3450  
3451         * autogen.sh: update to call newer tools.
3452  
3453         * configure.in: various updates, to use M4 macros to put
3454         variables that change each release at the top.
3455         Use AC_HELP_STRING to format help strings.
3456         Use AC_CONFIG_COMMANDS to generate gdkconfig.h.
3457  
3458         * Makefile.am: require Automake 1.7.  Remove gdk-2.0.pc and
3459         gtk+-2.0.pc on uninstall.  Pass --enable-gtk-doc to configure
3460         during distcheck.
3461  
3462         * docs/reference/*/Makefile.am: simplify to use the gtk-doc.make
3463         makefile fragment.
3464  
3465         * */Makefile.am: don't use STRIP_BEGIN/STRIP_END.
3466         Use BUILT_SOURCES where appropriate.
3467         Build generated files in builddir rather than srcdir.
3468         Fix uninstall and distclean targets to satisfy distcheck.
3469
3470         ===
3471
3472         * gdk/*/Makefile.am: Remove the hacks to get gdkenumtypes.h
3473         built first, since we are now using BUILT_SOURCES.
3474
3475         * gdk/Makefile.am: Remove an outdated comment about gdk_headers.
3476
3477         * demos/gtk-demo/Makefile.am: Fix srcdir != buildd problem
3478         with geninclude.pl.
3479
3480         * configure.in: Update versions to 2.3.0.
3481  
3482 2003-05-06  Tor Lillqvist  <tml@iki.fi>
3483
3484         Fix for #110165 (thanks to Arnaud Charlet):
3485         
3486         * gdk/win32/gdkevents-win32.c (build_keypress_event,
3487         build_keyrelease_event): For unshifted control char, use
3488         lowercase ASCII keyval.
3489         (gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
3490         UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
3491         lowercase keyval. Use build_key_event_state() here, too, instead
3492         of minor code duplication.
3493
3494 2003-05-06  Matthias Clasen  <maclas@gmx.de>
3495
3496         * tests/testmultidisplay.c: Don't include strings.h, it's not
3497         needed anymore.  (#112388)
3498
3499         * examples/menu/itemfactory.c: 
3500         * docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
3501         itemfactory example.
3502
3503 2003-05-05  Matthias Clasen  <maclas@gmx.de>
3504
3505         * gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
3506         icon type to the stock icon type.  (#111735, Dave Bordoley)
3507
3508 2003-05-05  Christian Rose  <menthos@menthos.com>
3509
3510         * configure.in: Added sr and sr@Latn to ALL_LINGUAS.
3511         Removed sp, it's replaced by sr@Latn.
3512
3513 Wed Apr 30 22:09:11 BST 2003  Tony Gale <gale@gtk.org>
3514
3515         * docs/faq/gtk-faq.sgml: GTK+ 2.x updates, mainly from
3516         Gonzalo Odiard
3517
3518 Mon Apr 28 17:54:39 2003  Jonathan Blandford  <jrb@redhat.com>
3519
3520         * gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search
3521         data iff the destroy func isn't NULL.
3522
3523 Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>
3524
3525         * autogen.sh (have_libtool): Accept libtool-1.5. (#111480)
3526
3527 2003-04-23  Abel Cheung  <maddog@linux.org.hk>
3528
3529         * configure.in: Added "am" "mk" "ta" to ALL_LINGUAS.
3530
3531 Tue Apr 22 15:33:51 2003  Owen Taylor  <otaylor@redhat.com>
3532
3533         * gtk/gtkfilesel.c (open_new_dir): Fix capitalization
3534         of UTF-8. (#106419, Roozbeh Pournader)
3535
3536 Tue Apr 22 15:17:25 2003  Owen Taylor  <otaylor@redhat.com>
3537
3538         * configure.in: Only check for XFT2 if we found pango-xft
3539         (#105692, Jon Nall)
3540
3541 Tue Apr 22 15:12:19 2003  Owen Taylor  <otaylor@redhat.com>
3542
3543         * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/
3544         PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)
3545
3546 Tue Apr 22 19:43:01 BST 2003  Tony Gale <gale@gtk.org>
3547
3548         * docs/faq/gtk-faq.sgml: add note about version converage.
3549
3550 Mon Apr 21 19:02:16 2003  Owen Taylor  <otaylor@redhat.com>
3551
3552         * gtk/gtksocket.c (activate_key): Fix prototype for
3553         activate_key. (#108927, Jason D. Hildebrand)
3554
3555 Mon Apr 21 18:42:51 2003  Owen Taylor  <otaylor@redhat.com>
3556
3557         * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl:
3558         Remove geninclude.pl from CVS and don't dist it either,
3559         it is generated. (#108970, Rich Kinder)
3560
3561 Mon Apr 21 18:35:48 2003  Owen Taylor  <otaylor@redhat.com>
3562
3563         * gtk/gtkobject.h: Remove a couple of obsolete comments,
3564         fix another comment. (#109737, Britton Kerin)
3565
3566 Mon Apr 21 18:29:03 2003  Owen Taylor  <otaylor@redhat.com>
3567
3568         * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
3569         the source list, not just it's contents (Patch
3570         from Charles Kerr, #108243)
3571
3572 Mon Apr 21 18:13:46 2003  Owen Taylor  <otaylor@redhat.com>
3573
3574         * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
3575         from Alex Larsson fixing problem with restacking during
3576         DND. (#108671)
3577
3578 Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>
3579
3580         * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
3581         Calling XFlush() after ungrabbing, to avoid problems if
3582         the app subsequently blocks on a long-running operation.
3583         (#106520, reported by Rajkumar Siva)
3584
3585 Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>
3586
3587         * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
3588         SKIP_TASKBAR/SKIP_PAGER to set of properties we
3589         might set on map. (#110019, problem reported
3590         by Loban Rahman)
3591
3592 Fri Apr 18 17:14:33 2003  Owen Taylor  <otaylor@redhat.com>
3593
3594         * gdk/gdkevents.c (gdk_event_copy): Fix for the
3595         case when gdk_event_copy() is called on a non-allocated
3596         event. (#109716, reported by Rich Burridge)
3597
3598 Fri Apr 18 16:57:44 2003  Owen Taylor  <otaylor@redhat.com>
3599
3600         * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
3601         Fix pointer arithmetic on 'void *'. (#108322)
3602
3603 Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>
3604
3605         * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
3606         Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
3607         use of XAddConnectionWatch. Remove --enable-xim config option.
3608         Should fix building on X11R6 (#110523, Albert Chin)
3609
3610 Fri Apr 18 15:56:46 2003  Owen Taylor  <otaylor@redhat.com>
3611
3612         * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
3613         Patch from Morten Welinder to catch Sun servers with a 
3614         broken implementation of the RENDER extension. (#108309)
3615
3616 Fri Apr 18 15:30:38 2003  Owen Taylor  <otaylor@redhat.com>
3617
3618         * gdk/x11/gdkwindow-x11.c (set_text_property): Use
3619         gdk_free_compound_text(), not g_free(). (#107643,
3620         Michael Zucchi)
3621
3622 Fri Apr 18 15:11:50 2003  Owen Taylor  <otaylor@redhat.com>
3623
3624         * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
3625         gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
3626         wrong use of base_finalize. (#105126, Sven Neumann)
3627
3628 Fri Apr 18 15:06:00 2003  Owen Taylor  <otaylor@redhat.com>
3629
3630         * gdk/gdkwindow.c (gdk_window_constrain_size): Fix
3631         '/' vs. '*' problem in aspect ration computations. (#108237)
3632
3633 Fri Apr 18 14:15:09 2003  Owen Taylor  <otaylor@redhat.com>
3634
3635         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): 
3636         * gdk/x11/gdkevents-x11.c (gdk_event_translate): You
3637         don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify 
3638         event, so select for both. (#108406, Egmont Koblinger)
3639
3640 Thu Apr 17 09:57:44 2003  Jonathan Blandford  <jrb@gnome.org>
3641
3642         * gtk/gtktreeview.c (validate_visible_area): remove infinite loop
3643         caused by not clearing the scroll_to_path.
3644
3645 2003-04-16  Matthias Clasen  <maclas@gmx.de>
3646
3647         * gtk/gtkstyle.c: Doc additions and fixes.
3648
3649         * gtk/gtktreeviewcolumn.c
3650         (_gtk_tree_view_column_get_neighbor_sizes): Doc fixes.
3651
3652 2003-04-14  Michael Natterer  <mitch@gimp.org>
3653
3654         * gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
3655         that the iter is not reordered to its own position. Prevents model
3656         corruption for the case that the store contains only a single item
3657         (fixes bug #108387).
3658
3659         Unrelated:
3660
3661         * gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
3662         new list element later so we don't leak it if we decide to return
3663         early.
3664
3665         * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
3666         set selection->tree_view->priv->anchor to NULL after freeing it.
3667
3668 2003-04-13  Matthias Clasen  <maclas@gmx.de>
3669
3670         * gtk/gtktreeviewcolumn.c
3671         (gtk_tree_view_column_cell_get_position): Document. 
3672
3673         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): 
3674         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_[sg]et_expand): 
3675         * gtk/gtkbutton.c (gtk_button_[sg]et_focus_on_click): Document
3676         these as 2.4 additions.
3677
3678 2003-04-09  Matthias Clasen  <maclas@gmx.de>
3679
3680         * INSTALL.in: Fix the real thing.
3681
3682         * INSTALL: Typo fix.
3683
3684 Mon Apr  7 19:43:15 2003  Owen Taylor  <otaylor@redhat.com>
3685
3686         * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
3687         after ungrabbing the server.
3688  
3689         * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
3690         calls to XFlush().
3691
3692         * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
3693         Use gdk_x11_display_grab/ungrab.
3694
3695         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize
3696         use_xshm to TRUE so SHM gets used when present.
3697  
3698 2003-04-07  Matthias Clasen  <maclas@gmx.de>
3699
3700         * gtk/gtktextlayout.c (set_para_values): 
3701         * gtk/gtkenums.h (GtkWrapMode): Add GTK_WRAP_WORD_CHAR.  (#110086,
3702         David Brigada)
3703
3704         * gtk/gtkcelleditable.c, gtk/gtkfixed.c, gtk/gtktreemodel.c,
3705         gtk/gtktreeselection.c, gtk/gtktreeview.c: Fix numerous
3706         misspellings of possessive "its".  (#110027, Doug Quale)
3707
3708 2003-04-03  Matthias Clasen  <maclas@gmx.de>
3709
3710         * demos/gtk-demo/main.c (demo_find_file): Only use files from the
3711         current directory if it looks like the srcdir.  (#109357)
3712
3713 Wed Apr  2 23:02:26 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
3714
3715         * gtk/gtkbutton.[ch] (gtk_button_class_init): add property
3716         focus_on_click
3717
3718         * gtk/gtkwindow.c (gtk_window_focus): make arrow keyboard
3719         navigation not wrap around.
3720
3721 2003-04-02  Matthias Clasen  <maclas@gmx.de>
3722
3723         * gtk/gtkprogress.c (gtk_progress_get_percentage_from_value):
3724         Return 0 if lower == upper.  (#109155)
3725         (gtk_progress_get_current_percentage): Use
3726         gtk_progress_get_percentage_from_value().
3727
3728 2003-04-01  Matthias Clasen  <maclas@gmx.de>
3729
3730         * gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs.
3731         (#109510, Noah Levitt)
3732
3733 Mon Mar 31 13:52:13 2003  Jonathan Blandford  <jrb@redhat.com>
3734
3735         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
3736         members so Purify won't complain.
3737
3738         * gtk/gtkliststore.c (gtk_list_store_sort): ditto.
3739
3740 2003-03-31  Matthias Clasen  <maclas@gmx.de>
3741
3742         * gtk/gtkwindow.c: Add a new property, role, corresponding to 
3743         gtk_window_[gs]et_role().  (#93904)
3744
3745 Sun Mar 30 03:57:42 2003  Jonathan Blandford  <jrb@gnome.org>
3746
3747         * gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
3748         fix crash.  Patch from Markus Lausser <sgop@users.sourceforge.net>
3749
3750 2003-03-29  Matthias Clasen  <maclas@gmx.de>
3751
3752         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
3753         of labels back to normal before reparenting back.  (#102387)
3754
3755         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): Set
3756         a default window title to match the GtkFontSelectionDialog behavior.
3757  
3758         (gtk_color_selection_dialog_new): Don't call
3759         gtk_window_set_title() if title is NULL.  (bug #101975, Daniel Elstner)
3760
3761 2003-03-29  Matthias Clasen  <maclas@gmx.de>
3762
3763         Fix for bug #78499:
3764         
3765         * gtk/gtkentry.h (struct _GtkEntry): Add flags select_words and
3766         select_lines. 
3767
3768         * gtk/gtkentry.c (gtk_entry_button_press): Set select_words and
3769         select_lines on double/triple click.
3770
3771         * gtk/gtkentry.c (gtk_entry_motion_notify): Implement
3772         select-by-words and select-by-lines behaviour.
3773
3774         Fixes for bug #56248:
3775         
3776         * gtk/gtknotebook.c (stop_scrolling): New function to remove the
3777         timer and queue a redraw. 
3778         (gtk_notebook_grab_notify): 
3779         (gtk_notebook_state_changed): New functions to call stop_scrolling() 
3780         if necessary.   
3781         (gtk_notebook_button_release): Use stop_scrolling().
3782         (gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.
3783
3784         * gtk/gtkrange.c (stop_scrolling): New function to remove the
3785         grab, remove the timer and queue a redraw.
3786         (gtk_range_grab_notify): 
3787         (gtk_range_state_changed): New functions to call stop_scrolling() 
3788         if necessary.   
3789         (gtk_range_button_release): Use stop_scrolling().
3790
3791         * gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): 
3792         (gtk_spin_button_state_changed): Redraw after stop_spinning.
3793         (gtk_spin_button_stop_spinning): Reset click_child to correct the
3794         drawing of the arrows.
3795         (gtk_spin_button_button_release): Use a local copy of click_child,
3796         since stop_spinning() resets it.
3797
3798         * gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
3799         C-A-PgDown as alternatives to the A-less variants. (This slipped
3800         in accidentally some time ago).  (#97860)
3801
3802 2003-03-26  Sven Neumann  <sven@gimp.org>
3803
3804         * gtk/gtktreeview.c: rewrote the function that does node and arrow
3805         prelighting, queue all redraws from here (Fixes bug #108792).
3806
3807 2003-03-20  Richard Kinder <r_kinder@yahoo.com>
3808
3809         * demos/testpixbuf.c (update_timeout): set error to NULL, not FALSE.
3810         Fixes bug #108778.
3811
3812 2003-03-20  Guntupalli Karunakar <karunakar@freedomink.org>
3813
3814         * configure.in: Added "ml" in ALL_LINGUAS
3815
3816 Sat Mar 15 18:49:27 2003  Manish Singh  <yosh@gimp.org>
3817
3818         * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of
3819         G_DISABLE_DEPRECATED.
3820
3821 2003-03-14  Tor Lillqvist  <tml@iki.fi>
3822
3823         * gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
3824         GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
3825         DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
3826         multiple monitors can have negative coordinates on some of the
3827         monitors. (partial fix for #99496, Arnaud Charlet)
3828
3829 2003-03-15  Matthias Clasen  <maclas@gmx.de>
3830
3831         * gtk/gtktextview.c: Add a "buffer" property.  (#108353) 
3832
3833 2003-03-13  Sven Neumann  <sven@gimp.org>
3834
3835         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
3836         removed redundant calls to g_object_notify().
3837         (gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see
3838         bug #108236.
3839
3840         * gtk/gtktextiter.c (_gtk_text_iter_get_segment_char)
3841         (_gtk_text_iter_get_segment_byte): return 0, not NULL (these
3842         functions return an integer value).
3843
3844 2003-03-13  Tor Lillqvist  <tml@iki.fi>
3845
3846         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
3847         WM_MOUSEMOVE, the test whether we have actually moved (and thus
3848         shouldn't generate an GDK event) moved after the call to
3849         propagate() and translate_mouse_coords(). Otherwise we were
3850         testing wrong values. (#108115, Allin Cottrell)
3851         (gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
3852         way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
3853
3854         * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
3855         is used, must copy the HCURSOR with CopyCursor(), as it is OK to
3856         destroy the GdkCursor after calling gdk_pointer_grab(). Set the
3857         cursor right away with SetCursor(), as we won't get any
3858         WM_SETCURSOR messages while the mouse is captured. 
3859         (gdk_display_pointer_ungrab): Correspondingly, destroy the copy
3860         with DestroyCursor() when no longer used. (#108114, Allin Cottrell)
3861
3862         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On
3863         WM_SYSCHAR, return FALSE from the window procedure to prevent the
3864         DefWindowProc from being called. Otherwise Windows would beep,
3865         thinking you are tring to access a (nonexistent) menu when you
3866         press Alt-something. Don't do this for Alt-Space,
3867         though. (#107454, Martyn Russell)
3868
3869         * gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
3870
3871 Tue Mar 11 12:01:07 2003  Jonathan Blandford  <jrb@gnome.org>
3872
3873         * gtk/gtktreeview.c (gtk_tree_view_class_init): Ctrl/Shift
3874         [left/right] expands/collapses the tree, #108092
3875
3876 2003-03-09  Tor Lillqvist  <tml@iki.fi>
3877
3878         * gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
3879         compensate for LineTo() not drawing the end pixel. It causes more
3880         harm than benefits, see bug #81895.
3881
3882 2003-03-08  Matthias Clasen  <maclas@gmx.de>
3883
3884         Bug #107664 continued:
3885
3886         * gdk/x11/gdkinputprivate.h: 
3887         * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. 
3888         (_gdk_input_other_event): Return gboolean.
3889         * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. 
3890         (_gdk_input_other_event): Return gboolean.
3891         * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.
3892
3893         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
3894         gboolean, remove pointless call to _gdk_input_window_none_event.
3895
3896         * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
3897         (_gdk_input_window_none_event): Remove.
3898
3899         * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): 
3900         (_gtk_text_iter_get_any_segment): 
3901         (_gtk_text_iter_get_segment_byte): 
3902         (_gtk_text_iter_get_segment_char): 
3903         (_gtk_text_iter_get_text_line): 
3904         (_gtk_text_iter_get_btree): Fix 0/NULL confusion.
3905         * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
3906         * gdk/win32/gdkfont-win32.c (gdk_font_equal): 
3907         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): 
3908         (gdk_window_get_origin): 
3909         * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion. 
3910
3911 2003-03-06  Matthias Clasen  <maclas@gmx.de>
3912
3913         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
3914         (#107664, Morten Welinder)
3915
3916         * gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin): 
3917         * gdk/x11/gdkfont-x11.c (gdk_font_equal): 
3918         * gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display): 
3919         Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)
3920
3921         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): 
3922         * gtk/gtkeditable.c (gtk_editable_get_chars): 
3923         * gtk/gtkctree.c (gtk_ctree_find_node_ptr): 
3924         * demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion
3925         (#107648, Morten Welinder)Fix NULL/FALSE confusion
3926         (#107648, Morten Welinder)
3927
3928 2003-03-04  Matthias Clasen  <maclas@gmx.de>
3929
3930         * gtk/gtkobject.h: Add deprecation guards for gtk_object_new ().
3931
3932 Sun Mar  2 23:35:57 2003  Jonathan Blandford  <jrb@gnome.org>
3933
3934         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
3935         handle rtl code.  Thanks to Matthias Clasen for an initial patch
3936         to handle the RTL code.
3937
3938         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size): ditto
3939
3940         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto
3941
3942         * gtk/gtktreeview.c: (invalidate_column),
3943         (invalidate_last_column),
3944         (gtk_tree_view_get_real_requested_width_from_column),
3945         (gtk_tree_view_size_allocate_columns),
3946         (gtk_tree_view_size_allocate), (gtk_tree_view_button_press),
3947         (gtk_tree_view_button_release_drag_column),
3948         (gtk_tree_view_update_current_reorder),
3949         (gtk_tree_view_motion_drag_column), (gtk_tree_view_bin_expose),
3950         (gtk_tree_view_key_press), (gtk_tree_view_header_focus),
3951         (gtk_tree_view_get_background_xrange),
3952         (gtk_tree_view_get_arrow_xrange),
3953         (gtk_tree_view_is_expander_column),
3954         (gtk_tree_view_set_column_drag_info),
3955         (gtk_tree_view_move_cursor_left_right):
3956         Add RTL support.
3957
3958         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): add an
3959         expand flag.
3960
3961         * gtk/gtktreeviewcolumn.c:
3962         (gtk_tree_view_column_class_init),
3963         (gtk_tree_view_column_set_property),
3964         (gtk_tree_view_column_get_property),
3965         (gtk_tree_view_column_set_expand),
3966         (gtk_tree_view_column_get_expand),
3967         (gtk_tree_view_column_cell_process_action):
3968         Add support for expand flag.  Thanks to Kristian Rietveld for an
3969         initial patch for this.
3970
3971 Fri Feb 28 02:06:17 2003  Jonathan Blandford  <jrb@gnome.org>
3972
3973
3974 2003-03-02  Tor Lillqvist  <tml@iki.fi>
3975
3976         * gdk/gdk.def
3977         * gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric
3978         Gustin.
3979
3980 2003-03-01  Matthias Clasen  <maclas@gmx.de>
3981
3982         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment): 
3983         (gtk_scrolled_window_set_hadjustment): Replace uses of
3984         gtk_object_new by g_object_new.
3985
3986 Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>
3987
3988         * demos/gtk-demo/main.c
3989         * demos/gtk-demo/tree_store.c
3990         * gdk/x11/gdkscreen-x11.c
3991         * gtk/gtkcellrenderertoggle.c
3992         * gtk/gtkcolorsel.c
3993         * gtk/gtkdnd.c
3994         * gtk/gtkeditable.c
3995         * gtk/gtkentry.c
3996         * gtk/gtkmenu.c
3997         * gtk/gtkmenubar.c
3998         * gtk/gtkmenuitem.c
3999         * gtk/gtkmenushell.c
4000         * gtk/gtkrc.c
4001         * gtk/gtksettings.c
4002         * gtk/gtkstyle.c
4003         * gtk/gtktextbuffer.c
4004         * gtk/gtktextview.c
4005         * gtk/gtktreeviewcolumn.c
4006         * tests/testgtk.c
4007         * tests/testtext.c
4008         * tests/testtreeedit.c
4009         * tests/testtreefocus.c
4010         * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
4011
4012 Tue Feb 25 21:55:17 2003  Jonathan Blandford  <jrb@redhat.com>
4013
4014         * gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL
4015         code.
4016
4017 2003-02-24  Sven Neumann  <sven@gimp.org>
4018
4019         * gtk/gtkmain.c (gtk_get_default_language): fixed documentation.
4020
4021 2003-02-21  Tomas Ogren  <stric@ing.umu.se>
4022
4023         * docs/reference/gtk/tmpl/gtktreemodel.sgml: Fix typos in an example
4024
4025 2003-02-20  Matthias Clasen  <maclas@gmx.de>
4026
4027         * gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag): 
4028         Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)
4029
4030         * gtk/gtktextview.c (gtk_text_view_scroll_to_iter): 
4031         (gtk_text_view_update_adjustments): Make sure cursor stays visible
4032         during horizontal scrolling.  (#75270)
4033
4034 2003-02-19  Matthias Clasen  <maclas@gmx.de>
4035
4036         * tests/testdnd.c: Replace gtk_timeout_* by their GLib
4037         counterparts. (#106532)
4038
4039         * gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
4040         keys_changed virtual function with the keys_changed signal.
4041         (#106512, Jeff Franks)
4042
4043 2003-02-15  Larry Ewing  <lewing@ximian.com>
4044
4045         * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.
4046
4047 2003-02-17  Mohammad DAMT  <mdamt@bisnisweb.com>
4048
4049         * po/id.po: Added Indonesian translation
4050         * configure.in: Added "id" to ALL_LINGUAS
4051
4052 2003-02-14  Matthias Clasen  <maclas@gmx.de>
4053
4054         * gtk/gtktextview.c (popup_targets_received): Remove bogus casts.
4055
4056 2003-02-12  Christian Rose  <menthos@menthos.com>
4057
4058         * configure.in: Added "yi" to ALL_LINGUAS.
4059
4060 2003-02-12  Matthias Clasen  <maclas@gmx.de>
4061
4062         Fix for #82734 and #78216:
4063         
4064         * gtk/gtktextview.c (delete_cb): 
4065         (select_all_cb): New callbacks for context menu items.
4066         (popup_targets_received): Add "Delete" and "Select All" to context
4067         menu, mnemonics and title caps for all items.
4068
4069         * gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
4070         context menu item.
4071         (popup_targets_received): Add "Delete" to context menu, mnemonics
4072         and title caps for all items.
4073
4074 2003-02-09  Tor Lillqvist  <tml@iki.fi>
4075
4076         * gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
4077         GetDriveType() to recognize removable drives (in order to avoid
4078         hanging if trying to access an empty floppy drive), instead of
4079         hardcoding A: and B: (#105654).
4080
4081 2003-02-09  Matthias Clasen  <maclas@gmx.de>
4082
4083         * gtk/gtkwidget.c (gtk_widget_set_name): Add note about periods in 
4084         names.  (#57680)
4085
4086 2003-02-09  Christian Rose  <menthos@menthos.com>
4087
4088         * configure.in: Removed "en@IPA.po" from ALL_LINGUAS.
4089
4090 Fri Feb  7 04:49:46 2003  Tim Janik  <timj@gtk.org>
4091
4092         * gtk/gtkobject.c: remove quark_user_data usage in
4093         gtk_object_{g|s}et_user_data(). fixes get_user_data()
4094         returning NULL for user_data set through property interface.
4095
4096         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): don't put out
4097         warnings if a pixbuf couldn't be retrieved, since (a) this doesn't
4098         need to be a programming error (in case of loaded data), (b) it breaks
4099         with 2.0 behaviour where extra magic could be used to create empty
4100         images. don't attempt to retrieve pixbufs from NULL extra_data.
4101
4102 2003-02-06  Matthias Clasen  <maclas@gmx.de>
4103
4104         * gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
4105         a GdkVisual *, not a GdkVisual **.  (#105243)
4106
4107         * gtk/gtkclist.c: 
4108         * gtk/gtkctree.c: 
4109         * gtk/gtkcontainer.c: 
4110         * gtk/gtkdnd.c: 
4111         * gtk/gtkentry.c: 
4112         * gtk/gtklist.c:
4113         * gtk/gtkmenu.c:
4114         * gtk/gtkmenuitem.c:
4115         * gtk/gtknotebook.c:
4116         * gtk/gtkselection.c:
4117         * gtk/gtkspinbutton.c:
4118         * gtk/gtktext.c:
4119         * gtk/gtktextview.c:
4120         * gtk/gtktooltips.c:
4121         * gtk/gtktreeview.c:
4122         * gtk/gtkwindow.c: Replace uses of gtk_timeout_* and gtk_idle_* by
4123         their non-deprecated GLib counterparts.
4124         
4125         * gtk/gtkmain.h: Fully deprecate gtk_timeout_* and gtk_idle_*.
4126         
4127 Sun Feb  2 16:45:57 GMT 2003  Tony Gale <gale@gtk.org>
4128
4129         * docs/tutorial/gtk-tut.sgml: cleanups from
4130         Sebastian Rittau (#104832)
4131
4132 2003-02-01  Tor Lillqvist  <tml@iki.fi>
4133
4134         Merge from stable:
4135
4136         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
4137         gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.
4138         (#104108, Naofumi Yasufuku)
4139
4140         * gdk/gdk.def: Export the above. Export
4141         gdk_screen_get_system_visual, noticed by Ed Woods.
4142
4143 Fri Jan 31 17:45:22 2003  Manish Singh  <yosh@gimp.org>
4144
4145         * demos/pixbuf-demo.c
4146         * demos/testpixbuf.c
4147         * demos/gtk-demo/pixbufs.c: remove deprecated gtk_timeout_* usage.
4148
4149 Fri Jan 31 17:33:00 2003  Manish Singh  <yosh@gimp.org>
4150                                                                                 
4151         * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
4152         on the tab_label before unparenting it, in case the unparent
4153         drops the refcount to 0.
4154
4155 2003-02-01  Matthias Clasen  <maclas@gmx.de>
4156
4157         * gtk/gtkiconfactory.h: Use GDK_MULTIHEAD_SAFE like all other gtk
4158         headers. Sorry about gtk_selection_clear, Yosh.
4159
4160 Thu Jan 30 17:16:05 2003  Manish Singh  <yosh@gimp.org>
4161
4162         * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
4163         too, for gtkwidget.c. Remember people, when introducing new
4164         deprecations, make sure internal code isn't using it, or if so,
4165         reorganize appropriately like I've done in other places.
4166
4167         * tests/testtext.c: don't use deprecated gtk_timeout_* stuff.
4168
4169 2003-01-31  Matthias Clasen  <maclas@gmx.de>
4170
4171         * gtk/gtkselection.h: 
4172         * gtk/gtkselection.c (gtk_selection_clear): Deprecate.  (#85683)
4173
4174         * gdk/gdkpixbuf.h: 
4175         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): 
4176         (gdk_pixbuf_render_to_drawable_alpha): Deprecate.  (#60582)
4177
4178         * gtk/gtkcolorsel.h:
4179         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
4180         Deprecate.  (#98167)
4181
4182         * gtk/gtkpaned.h: Deprecate gtk_paned_computed_position(). (#97077)
4183
4184         * gtk/gtkmain.h: Deprecate the gtk_timeout_*, gtk_idle_*
4185         and gtk_input_* functions.  (#71596)
4186         
4187         * gtk/gtkentry.c (gtk_entry_move_cursor): 
4188         * gtk/gtklabel.c (gtk_label_move_cursor): Handle
4189         GTK_MOVEMENT_HORIZONTAL_PAGES in switches.
4190
4191         * gdk/gdk.h: Deprecate gdk_wcstombs() and gdk_mbstowcs().  (#79803)
4192
4193         * gtk/gtkitemfactory.h: 
4194         * gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): Deprecate. 
4195         (#69244)
4196
4197 Thu Jan 30 23:48:30 2003  Kristian Rietveld  <kris@gtk.org>
4198
4199         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
4200         only count the special cell if it is also visible,
4201         (_gtk_tree_view_column_get_neighbor_sizes): only take the width into
4202         account from visible cells,
4203         (gtk_tree_view_column_cell_get_position): likewise, (Reported and
4204         testcase provided by Vasco Alexandre da Silva Costa, via IRC,
4205         tracking bug was #104563).
4206         
4207 Thu Jan 30 23:46:15 2003  Kristian Rietveld  <kris@gtk.org>
4208
4209         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
4210         subtract expander space and focus line space from the extra space
4211         we are about the allocate. (Fixes #104635).
4212
4213 Thu Jan 30 23:42:03 2003  Kristian Rietveld  <kris@gtk.org>
4214
4215         * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
4216         (Fixes #96242, patch from Soeren Sandmann).
4217
4218 Thu Jan 30 16:54:29 2003  Owen Taylor  <otaylor@redhat.com>
4219
4220         * gtk/gtknotebook.c: Patch from Soeren Sandmann
4221         to update the states of the tab label child
4222         widgets to match the state of the tabs. 
4223         (#93389, Reported by Tommi Komulainen)
4224
4225 Thu Jan 30 16:30:54 2003  Owen Taylor  <otaylor@redhat.com>
4226
4227         * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from
4228         EXTRA_DIST, and from dist rules. (#102231)
4229
4230 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
4231
4232         * gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
4233         function that sets the icon's and label's packing options and
4234         visibility based on toolbar->style.
4235
4236         (gtk_toolbar_internal_insert_element):
4237         (gtk_real_toolbar_style_changed): Make use of
4238         set_child_packing_and_visibility() to clean up the code and get
4239         the packing right for icon-only/text-only toolbars. (#104679)
4240
4241         (get_first_child): Remove, and use gtk_bin_get_child() instead.
4242
4243 2003-01-30  Matthias Clasen  <maclas@gmx.de>
4244
4245         * gtk/gtktextview.c: Replace PAGE_HORIZONTALLY_HACK_VALUE by
4246         GTK_MOVEMENT_HORIZONTAL_PAGES.  (#68947)
4247
4248         * gtk/gtkenums.h: Add GTK_MOVEMENT_HORIZONTAL_PAGES to GtkMovementStep.
4249         
4250 Thu Jan 30 16:01:29 2003  Owen Taylor  <otaylor@redhat.com>
4251
4252         * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the 
4253         attempt-to-allocate then free code. To handle multiple
4254         people allocating colors at the same time, we need
4255         to just go ahead and try. (#102213, Shivram U)
4256         
4257 2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>
4258
4259         * gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
4260         rectangle using the background color rather than relying on
4261         gdk_window_clear_area(), so that the palette works properly with
4262         pixmap themes. (#101732)
4263
4264         * demos/gtk-demo/colorsel.c: Install an "expose_event" handler
4265         to fill the drawing area in the background color.
4266
4267 Wed Jan 29 14:11:21 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>
4268
4269         * modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
4270         initialization error for selecting input style (#103549).
4271
4272 Wed Jan 29 17:02:41 2003  Owen Taylor  <otaylor@redhat.com>
4273
4274         * gdk/gdkkeyuni.c (get_decimal_char): Make the 
4275         translation of GDK_KP_Decimal dependent on LC_NUMERIC.
4276         (#101225)
4277
4278 Wed Jan 29 15:43:56 2003  Owen Taylor  <otaylor@redhat.com>
4279
4280         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
4281         Make up from the menu bar go to the end of the submenu.
4282         (#96114, Ian Peters.)
4283
4284         * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): 
4285         Only do the select-but-not-activate stuff if the
4286         menu is already active. Otherwise, just activate.
4287         (#101690, Arvind Samptur)
4288
4289 Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>
4290
4291         * autogen.sh (have_automake): Fix version in complaint
4292         message about automake. (#104366, Rich Burridge)
4293
4294 Mon Jan 27 16:38:13 2003  Owen Taylor  <otaylor@redhat.com>
4295
4296         * configure.in: Remove SOEXT stuff; it doesn't work portably.
4297
4298 Mon Jan 27 22:45:15 2003  Kristian Rietveld  <kris@gtk.org>
4299
4300         * gtk/gtktreestore.c (gtk_tree_store_move): don't handle b if
4301         we appended/prepended, send the rows_reordered signal to the 
4302         correct level ... (Reported by Matthew Tuck).
4303
4304 Mon Jan 27 22:43:11 2003  Kristian Rietveld  <kris@gtk.org>
4305
4306         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): don't just bail
4307         out if the level only has one item, recurse over the child if there
4308         is one. (Fixes #100458, reported by Gaël Le Mignot).
4309
4310 Mon Jan 27 22:41:26 2003  Kristian Rietveld  <kris@gtk.org>
4311
4312         * gtk/gtktreeview.c (gtk_tree_view_set_model),
4313         (gtk_tree_view_search_equal_func): make TreeView search handle
4314         all types which are transformable by GValue. (Fixes #99803, reported
4315         by Muktha Narayan).
4316
4317 Mon Jan 27 22:39:25 2003  Kristian Rietveld  <kris@gtk.org>
4318
4319         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_sort_column_id):
4320         *really* handle unsetting the ID. Slightly modified patch from
4321         Soeren Sandmann. Fixes #87556, reported by Jarek Dukat.
4322
4323 Mon Jan 27 22:33:43 2003  Kristian Rietveld  <kris@gtk.org>
4324
4325         Fixes the total GtkTreeSortable mess, and #83195, reported by
4326         Jarek Dukat
4327
4328         * gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id),
4329         (gtk_tree_store_set_sort_column_id), (gtk_tree_store_set_sort_func),
4330         (gtk_tree_store_set_default_sort_func): use the constant
4331         GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of -1, make functions
4332         work as advertised by the documentation.
4333
4334         * gtk/gtklistore.c (gtk_list_store_get_sort_column_id),
4335         (gtk_list_store_set_sort_column_id), (gtk_list_store_set_sort_func),
4336         (gtk_list_store_set_default_sort_func): likewise.
4337
4338         * gtk/gtktreemodelsort.c (gtk_tree_model_set_sort_column_id),
4339         (gtk_tree_model_set_sort_func),
4340         (gtk_tree_model_sort_set_default_sort_func): make functions work
4341         as advertised by the documentation.
4342
4343 Mon Jan 27 22:31:56 2003  Kristian Rietveld  <kris@gtk.org>
4344
4345         * gtk/gtktreeview.c (gtk_tree_view_button_press): update focus_column
4346         before we decide if we edit. (fixes #100973, reported by Dave Cook).
4347
4348 Mon Jan 27 22:29:30 2003  Kristian Rietveld  <kris@gtk.org>
4349
4350         Bug report and test case from Paolo Maggi via IRC.
4351
4352         * gtk/gtkliststore.c (gtk_list_store_swap): update tail if needed,
4353         (gtk_list_store_move): update tail if needed.
4354
4355 Mon Jan 27 16:19:59 2003  Owen Taylor  <otaylor@redhat.com>
4356
4357         * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
4358         might be NULL. Use gtk_widget_get_display (widget) 
4359         (#102860, Thomas Leonard)
4360
4361 Mon Jan 27 15:58:31 2003  Owen Taylor  <otaylor@redhat.com>
4362
4363         * configure.in: Fix --without-modules/--disable-modules
4364         confusion that was causing --disable-modules not to work.
4365         (#102865, Akira Tagoh)
4366
4367         * configure.in: Fix problem with plain --with-xinput
4368         (#104266, Akira Tagoh)
4369
4370 2003-01-24  Sebastian Rittau  <srittau@jroger.in-berlin.de>
4371
4372         * docs/tutorial/gtk-tut.sgml: Fix a few typos, introduced by my last
4373         patch.
4374
4375 Fri Jan 24 17:06:41 GMT 2003  Tony Gale <gale@gtk.org>
4376
4377         * docs/tutorial/gtk-tut.sgml: Remove duplicate copy of tictactoe.h
4378
4379 Thu Jan 23 21:15:29 GMT 2003  Tony Gale <gale@gtk.org>
4380
4381         * docs/faq/gtk-faq.sgml: Learn to spell Library
4382
4383 Thu Jan 23 20:56:56 GMT 2003  Tony Gale <gale@gtk.org>
4384         * Sebastian Rittau  <srittau@jroger.in-berlin.de>:
4385
4386            docs/tutorial/gtk-tut.sgml: Adopted chapter 21.3 "Creating a
4387            Composite widget" to modern standards. (I.e. use gobject instead of
4388            glib, derive from GtkTable instead of GtkVBox.) Bugzilla #103869.
4389
4390         * docs/tutorial/gtk-tut.sgml, examples/tictactoe: Fixup tic-tac-toe
4391         code in Appendix C to reflect above changes.
4392
4393         * examples/rangewidgets/rangewidgets.c: From Roger Leigh
4394         auto resize on page size change
4395
4396 2003-01-23  Daniel Elstner  <daniel.elstner@gmx.net>
4397
4398         * gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
4399         in addition to show_all in order to keep them symmetric. (#102201)
4400
4401 Wed Jan 22 14:18:46 2003  Manish Singh  <yosh@gimp.org>
4402
4403         * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
4404         the end of the function, so there is a statement following the "out"
4405         label in all cases (fixes #101961)
4406
4407 2003-01-22  Christian Rose  <menthos@menthos.com>
4408
4409         * configure.in: Added "mn" to ALL_LINGUAS.
4410
4411 Wed Jan 15 17:02:18 2003  Owen Taylor  <otaylor@redhat.com>
4412  
4413         * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
4414         Fix off-by-one error on the backward iteration loop,
4415         that was causing the wrong range to be redrawn.
4416         (at least part of #72734)
4417         
4418 2003-01-21  Matthias Clasen  <maclas@gmx.de>
4419
4420         * gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
4421         vadjustment value after changing its bounds.  (fixes #101963 and 
4422         #73562)
4423
4424         * gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid 
4425         unnecessary roundtrip failures.  (#93500)
4426
4427 2003-01-19  Tor Lillqvist  <tml@iki.fi>
4428
4429         Merge from stable:
4430         
4431         Fix for #103614 and some other problems with GtkFileSelection on
4432         Windows:
4433                 
4434         * gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
4435         g_ascii_tolower(). Windows file names are case-insensitive for all
4436         Unicode letters.
4437
4438         * gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
4439         G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
4440         earlier, as it includes config.h unconditionally, and gtkprivate.h
4441         redefines GTK_LOCALEDIR.
4442         (struct _CompletionDirSent): Ifdef out the fields not used on
4443         Windows.
4444         (compare_utf8_filenames, compare_sys_filenames): Need different
4445         comparison implementation for UTF-8 file names and system locale
4446         file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
4447         need to casefold all Unicode letters.
4448         (cmpl_completion_matches, open_dir, correct_parent): Ifdef out
4449         variables not used on Win32 to avoid warnings about unused
4450         variables.
4451         (open_ref_dir): Use g_path_skip_root() to skip past potential
4452         drive letter in front of the leading (back)slash.
4453         (open_new_dir): Ifdef out use of CompletionDirSent fields not
4454         there on Win32.
4455         (correct_parent): Bypass inode check also on Cygwin.
4456
4457         Fix bug noticed by Alex Shaduri: Tooltips and other
4458         GDK_WINDOW_TEMP windows were activated. This looked very odd, and
4459         was a regression from earlier versions.
4460         
4461         * gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
4462         behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
4463         (gdk_window_move, gdk_window_resize): Add debug logging.
4464
4465         * gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
4466         WM_SIZE message for a non-visible (withdrawn) window, don't clear
4467         the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
4468         even if its size changes.
4469
4470 2003-01-16  Matthias Clasen  <maclas@gmx.de>
4471
4472         * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations): Typo fixes.
4473         (totally_invisible_line): Fix an incorrect optimization which
4474         caused invisible paragraphs to be occasionally misrendered.
4475
4476 Wed Jan 15 15:55:47 2003  Owen Taylor  <otaylor@redhat.com>
4477
4478         * gtk/gtksettings.c: Set the double click speed from
4479         XSETTINGS when creating a new GtkSettings object
4480         as well as when getting a notify. (#103601, reported
4481         by Louis Garcia)
4482
4483 Wed Jan 15 14:56:09 2003  Owen Taylor  <otaylor@redhat.com>
4484  
4485         * gtk/gtknotebook.c (gtk_notebook_size_allocate): 
4486         Show/hide the notebook event window as necessary,
4487         we weren't previously keeping the visibility updated
4488         properly.  (#103599)
4489  
4490 2003-01-15  Matthias Clasen  <maclas@gmx.de>
4491
4492         * examples/menu/itemfactory.c: 
4493         * docs/tutorial/gtk-tut.sgml: Add a <StockItem> to the itemfactory
4494         example.  (#103211)
4495
4496 2002-12-29  Murray Cumming  <murrayc@usa.net>
4497
4498         Fixes #102168.
4499
4500         * gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
4501         Actually implement the GtkTreeDragSource::row_draggable virtual 
4502         function in GtkListStore and GtkTreeStore instead of just checking 
4503         whether it's implemented at all. This means that DnD isn't broken by
4504         gtkmm's virtual function wrappers. The alternative would be to
4505         hard-code the TRUE return value into gtkmm's wrappers, but that's 
4506         part of GTK+'s implementation, not it's API.
4507
4508 Tue Jan 14 23:42:29 2003  Kristian Rietveld  <kris@gtk.org>
4509
4510         * gtk/gtktreeview.c: fix compiler warning.
4511
4512 Tue Jan 14 23:29:00 2003  Kristian Rietveld  <kris@gtk.org>
4513
4514         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4515         make sure exposed pixbufs are clipped to the exposed area before
4516         drawing, which is a slight speedup. (#102379, patch from Soeren
4517         Sandmann).
4518
4519 Tue Jan 14 23:26:41 2003  Kristian Rietveld  <kris@gtk.org>
4520
4521         * gtk/gtktreeview.c (validate_visible_area): silly typo fix,
4522         only free scroll_to_path when the complete tree has been validated.
4523         This makes sure that we scrolled to the correct path.
4524
4525 Tue Jan 14 23:25:32 2003  Kristian Rietveld  <kris@gtk.org>
4526
4527         * gtk/gtktreeview.c (gtk_tree_view_style_set): update the
4528         background of widget->window and bin->window. (Fixes #96650, reported
4529         by Dave Camp).
4530
4531 Tue Jan 14 23:24:02 2003  Kristian Rietveld  <kris@gtk.org>
4532
4533         * gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): process
4534         updates before scrolling, avoiding a "selection streak". (Fixes
4535         #101235, patch from Soeren Sandmann).
4536
4537 Tue Jan 14 23:22:13 2003  Kristian Rietveld  <kris@gtk.org>
4538
4539         * gtk/gtktreeview.c (validate_visible_area): actually put values
4540         in the requisition using gtk_widget_size_request. (Fixes #100172,
4541         reported by Kjartan Maraas).
4542
4543 Tue Jan 14 23:19:45 2003  Kristian Rietveld  <kris@gtk.org>
4544
4545         * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): cancel the
4546         arrow animation timeout before we actually reorder the rbtree. If
4547         we don't do this we can get stuck arrows,
4548         (cancel_arrow_animation): new function. (Fixes #93629, part 2,
4549         reported and testcase provided by Hans Petter Jansson).
4550
4551 Tue Jan 14 23:18:21 2003  Kristian Rietveld  <kris@gtk.org>
4552
4553         * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
4554         anchor_path should be start_path, not end_path. (Fixes #102618,
4555         patch from Carlos Garnacho Parro).
4556
4557 Tue Jan 14 23:16:15 2003  Kristian Rietveld  <kris@gtk.org>
4558
4559         * gtk/gtkliststore.c (gtk_list_store_move): also update the tail,
4560         only correct new_pos if we don't move to the head/tail.
4561
4562 Tue Jan 14 23:11:55 2003  Kristian Rietveld  <kris@gtk.org>
4563
4564         * gtk/gtktreestore.c (gtk_tree_store_swap): take the path from
4565         the parent_iter if depth >= 1, so we send the reordered signal to
4566         the correct level, remove debugging printfs which I forgot the remove
4567         earlier (2.2.0 shipped with this, oops). (Fixes #103198, Reported and
4568         testcase provided by Matthew Tuck).
4569
4570 Tue Jan 14 20:58:44 2003  Kristian Rietveld  <kris@gtk.org>
4571
4572         * gtk/gtktreeview.c (invalite_last_column): split out actual column
4573         invalidation into invalidate_column(),
4574         (gtk_tree_view_size_allocate_columns): invalidate column if the
4575         new width is larger than the old width.
4576         (fixes #102890, reported by Alex Duggan).
4577
4578 2003-01-14  Matthias Clasen  <maclas@gmx.de>
4579
4580         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Skip
4581         invisible chars for GTK_MOVEMENT_LOGICAL_POSITIONS and
4582         GTK_MOVEMENT_WORDS.
4583
4584         * gtk/gtktextiter.c,
4585         gtk/gtktextiter.h: Add some variant movement functions which
4586         skip invisible chars, and do some cleanups.
4587
4588 2003-01-12  Tor Lillqvist  <tml@iki.fi>
4589
4590         Merge from stable:
4591                 
4592         * gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
4593         as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
4594         lookup.
4595
4596         * gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
4597         gdk.def.
4598
4599         * gdk/gdk.def
4600         * gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
4601
4602         * gtk-zip.sh.in (DEVZIP): Add bin/{gtk-query-immodules-2.0,
4603         gtk-demo}.exe and share/gtk-2.0.
4604
4605         * gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
4606         Implement by setting or clearing the WS_EX_TOOLWINDOW extended
4607         window style.
4608         (gdk_window_set_type_hint): Add all cases to the switch (not all
4609         do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
4610         calling gdk_window_set_skip_taskbar_hint(). This means that GTK
4611         won't know that the skip_taskbar hint is on for the window, is
4612         this bad?
4613
4614 Wed Jan  8 18:43:03 2003  Manish Singh  <yosh@gimp.org>
4615
4616         * gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
4617         <string.h> for strlen.
4618
4619         * gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
4620         <string.h> for strrchr.
4621
4622         * tests/testgtk.c (create_saved_position): "x" and "y" properties
4623         for widgets no longer exist, use gtk_window_move instead.
4624
4625         * test/testtextbuffer.c (check_get_set_text): cast strlen to
4626         int for g_error.
4627
4628 2003-01-08  Matthias Clasen  <maclas@gmx.de>
4629
4630         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix display of
4631         the selection in the presence of invisible segments.
4632
4633 2003-01-07  Matthias Clasen  <maclas@gmx.de>
4634
4635         * gtk/gtktextview.c (gtk_text_view_class_init): Bind C-/ and C-\
4636         to "select all" and "unselect all".  (#102065)
4637
4638         * gtk/gtktextview.h (struct _GtkTextView): Add a comment that
4639         the just_selected_element is unused.
4640
4641         * gtk/gtktextview.c (extend_selection): New helper function to
4642         find the range that should be added to the selection. 
4643         (selection_motion_event_handler): 
4644         (gtk_text_view_start_selection_drag): 
4645         (gtk_text_view_end_selection_drag): 
4646         (selection_motion_event_handler): 
4647         (selection_scan_timeout): Support select-by-words/lines.
4648         (gtk_text_view_button_press_event): Start a selection drag on
4649         double/triple clicks.  (#78499)
4650
4651 2003-01-06  Matthias Clasen  <maclas@gmx.de>
4652
4653         Implement a utility function proposed in #102534:
4654         
4655         * gtk/gtktextbtree.h: 
4656         * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
4657         (_gtk_text_btree_place_cursor): Now a simple wrapper around
4658         _gtk_text_btree_select_range().   
4659
4660         * gtk/gtktextbuffer.h: 
4661         * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
4662         (gtk_text_buffer_place_cursor): Now a simple wrapper around
4663         gtk_text_buffer_select_range(). 
4664
4665 2003-01-05  Havoc Pennington  <hp@pobox.com>
4666
4667         * configure.in: fix a stray bracket that was breaking the build
4668
4669 2003-01-05  Tor Lillqvist  <tml@iki.fi>
4670
4671         * gtk-zip.sh.in: Use correct DLL and import library names, with
4672         GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
4673         (DEVZIP): Add gdk-pixbuf-query-loaders.exe.
4674
4675         * configure.in: Improve check for dimm.h.
4676
4677         * configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
4678         gdk-pixbuf/Makefile.am.
4679
4680         * gdk-pixbuf/makefile.mingw.in
4681         * gdk-pixbuf/pixops/makefile.mingw.in
4682         * gdk/makefile.mingw.in
4683         * gdk/win32/makefile.mingw.in
4684         * gtk/makefile.mingw.in: Remove. Not maintained anyway.
4685
4686         * gdk-pixbuf/Makefile.am
4687         * gdk-pixbuf/pixops/Makefile.am
4688         * gdk/Makefile.am
4689         * gdk/win32/Makefile.am
4690         * gtk/Makefile.am
4691         * configure.in: Remove makefile.mingw{,.in} from here, too.
4692         
4693         * README.win32: Updates. Don't mention the now removed
4694         makefile.mingw files.
4695
4696         * gdk/gdk.def
4697         * gtk/gtk.def: Add a couple of missing entries.
4698
4699         * gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
4700
4701         * gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
4702         earlier.
4703
4704         * gdk/win32/rc/Makefile.am: Add hack to help
4705         build/win32/lt-compile-resource decide which kind of libtool
4706         object file to produce.
4707
4708 2003-01-05  Matthias Clasen  <maclas@gmx.de>
4709
4710         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
4711         C-Down step through the sequence of paragraph ends (old behaviour
4712         included paragraph starts).  (#80340, patch by Narayana Pattipati)
4713
4714         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
4715         Check for a tag toggle at the start iterator before calling
4716         gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel 
4717         Elstner)
4718
4719 2003-01-04  Matthias Clasen  <maclas@gmx.de>
4720
4721         * gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/
4722         and /*< private >*/ as appropriate.  (#97211)
4723
4724 2003-01-04  Tor Lillqvist  <tml@iki.fi>
4725
4726         * Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do
4727         distribute gtk-zip.sh.in.
4728
4729         * gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-csource.exe and .1.
4730
4731 2003-01-03  Havoc Pennington  <hp@pobox.com>
4732
4733         * docs/Makefile.am (EXTRA_DIST): put it in EXTRA_DIST
4734
4735         * docs/text_widget_internals.txt: add a file documenting some of
4736         the text widget internals
4737
4738 2003-01-02  Matthias Clasen  <maclas@gmx.de>
4739
4740         * gtk/gtkwindow.c (gtk_window_get_focus): Document that it may
4741         return NULL.  (#102069)
4742
4743 2003-01-01  Matthias Clasen  <maclas@gmx.de>
4744
4745         * gtk/fnmatch.c (FNMATCH_TEST_CASES): #undef, since having
4746         a main() in the library is obviously bad. 
4747
4748 2002-12-27  Matthias Clasen  <maclas@gmx.de>
4749
4750         * gtk/gtktextview.c (gtk_text_view_drag_data_received): Place the
4751         cursor at drop point.  (#72384)
4752         (gtk_text_view_size_allocate): Update the horizontal adjustment
4753         value.  (#75694)
4754
4755 2002-12-25  Matthias Clasen  <maclas@gmx.de>
4756
4757         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix highlighting of
4758         selection wrt. to empty lines.  (#90435, #90582, #91619)
4759
4760         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler):
4761         Keep the cursor on screen.  (#96929)
4762
4763 2002-12-24  Matthias Clasen  <maclas@gmx.de>
4764
4765         * gtk/gtktextbuffer.c (paste_from_buffer): 
4766         (clipboard_text_received): Let the user action span the insertion
4767         and the deletion of the old selection.  (#82844)
4768
4769 2002-12-23  Matthias Clasen  <maclas@gmx.de>
4770
4771         * gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
4772         Don't call gtk_text_iter_backward_sentence_start() if
4773         count is zero.  (#99115)
4774
4775         * gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
4776         move_cursor() even if the cursor hasn't moved, since it has the
4777         side effect of canceling the selection.  (#81395, #98537, #98333)
4778
4779 2002-12-22  Matthias Clasen  <maclas@gmx.de>
4780
4781         * gtk/gtktextlayout.c (add_preedit_attrs): Don't add attributes
4782         with empty ranges.  (fixes #101564 and #80637)
4783
4784 2002-12-21  Tor Lillqvist  <tml@iki.fi>
4785
4786         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Move the code that
4787         sets the window style and extended window style, and adjusts the
4788         width and height to take the window decorations into account
4789         earlier. The adjusted width and height used to be ignored. Remove
4790         the local x, y, width and height variables, no need to further
4791         confuse the code by having local copies. (Partial fix, I hope, for
4792         #101588)
4793
4794         (gdk_window_move): When moving top-level windows, take title bar
4795         and border width into account, offsetting the coordinates before
4796         calling SetWindowPos().
4797
4798         (gdk_window_set_decorations, gdk_window_set_functions):
4799         Reimplement, taking into account the peculiar semantics of
4800         GDK_DECOR_ALL and GDK_FUNC_ALL. (#79036)
4801
4802         (gdk_window_get_decorations): Implement. (#98981)
4803         
4804         (gdk_window_set_type_hint): When setting
4805         GDK_WINDOW_TYPE_HINT_MENU, call gdk_window_set_decorations().
4806         (#79036)
4807
4808         * gdk/gdk.def: Add gdk_window_get_decorations. (#98981)
4809
4810 2002-12-21  Matthias Clasen  <maclas@gmx.de>
4811
4812         * gtk/gtktextview.c (gtk_text_view_set_background): New static
4813         function to set the background of all windows.
4814         (gtk_text_view_style_set): Use gtk_text_view_set_background().
4815         (gtk_text_view_state_changed): New function; change background
4816         according to state.  (#88126)
4817
4818 2002-12-21  Havoc Pennington  <hp@pobox.com>
4819
4820         * gtk/gtktextview.c (gtk_text_view_move_visually): fix the documentation
4821