]> Pileus Git - ~andy/gtk/blob - ChangeLog
Connect to notify instead of multiple detailed signals.
[~andy/gtk] / ChangeLog
1 2005-12-31  Matthias Clasen  <mclasen@redhat.com>
2
3         * gtk/gtkaction.c: 
4         * gtk/gtkentry.c: Connect to notify instead of multiple
5         detailed signals.
6
7 2005-12-30  Matthias Clasen  <mclasen@redhat.com>
8
9         * gdk/gdk.symbols: 
10         * gdk/gdkcairo.h: 
11         * gdk/gdkcairo.c: Add gdk_cairo_set_source_pixmap.  (#318805,
12         Alexander Larsson)
13
14         * gdk/gdkdisplaymanager.c (gdk_display_manager_set_property): Call
15         gdk_display_manager_set_default_display() to change the default
16         display.  (#153623, Stefan Kost)
17
18         * gtk/gtkmessagedialog.c (gtk_message_dialog_init):
19          (setup_type): Alert dialogs should not have titles and should 
20         not be displayed in the taskbar.  (#310443, Carlos Garnacho Parro,
21         Dennis Cranston)
22
23 2005-12-29  Matthias Clasen  <mclasen@redhat.com>
24
25         * gtk/gtkliststore.c: 
26         * gtk/gtktreestore.c: Always call the get_path and get_iter
27         implementations directly, rather than the current mixture whith
28         some calls going through the GtkTreeModel interface.
29
30         * gtk/gtktreemodelsort.c: 
31         * gtk/gtkliststore.c: 
32         * gtk/gtktreestore.c: Remove excessive g_return_if_fail() checks
33         in static functions.
34         
35         * gtk/gtktreedatalist.c: Use the slice allocater for 
36         GtkTreeDataSortHeader.
37
38         * gtk/gtktreedatalist.h: 
39         * gtk/gtktreedatalist.c (_gtk_tree_data_list_set_header): New function.
40
41         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): 
42         * gtk/gtkliststore.c (gtk_list_store_set_sort_func): 
43         * gtk/gtktreestore.c (gtk_tree_store_set_sort_func): Use it here.
44
45 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
46
47         * gtk/gtkbindings.h (GtkBindingSignal): 
48         * gtk/gtkbindings.c (binding_signal_new): Make the
49         args a flexible array inside the struct, and allocate them
50         together.
51
52 Wed Dec 28 00:45:46 2005  Tim Janik  <timj@gtk.org>
53
54         * gtk/gtkctree.c (row_delete): delete GtkCTreeRow as GtkCTreeRow, not
55         clist rows which crashes in gslice later on.
56
57 2005-12-27  Federico Mena Quintero  <federico@ximian.com>
58
59         * gtk/gtkfilefilter.c (gtk_file_filter_filter): In the case for
60         FILTER_RULE_PIXBUF_FORMATS, check that filter_info->mime_type is
61         not NULL.  Fixes bug #317687.
62
63 2005-12-27  Matthias Clasen  <mclasen@redhat.com>
64
65         * gdk/x11/gdkevents-x11.c (check_transform): Fix a typo.
66         (gdk_screen_get_setting): Avoid relocations for the settings
67         map.
68
69         * gdk/x11/gdkproperty-x11.c: Avoid relocations for the list
70         of standard atoms.
71
72         * gtk/gtkbindings.c (gtk_binding_set_new): Avoid copying
73         the set_name by interning it.
74
75 2005-12-26  Matthias Clasen  <mclasen@redhat.com>
76
77         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Precache atoms
78         before calling gdk_window_new().
79
80         * gtk/gtktextbtree.c: Use the slice allocator for some other small
81         auxiliary structures as well.
82
83         * gtk/gtkimcontext.c (gtk_im_context_filter_keypress): Clarify
84         docs.  (#324996)
85
86         * gtk/gtktextbtree.c (gtk_text_btree_get_tag_info) 
87         (gtk_text_btree_remove_tag_info): Use the slice allocator for 
88         tag info.
89
90         * README.in: Mention the stripping of (_F) suffixes.
91
92         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Strip a suffix of 
93         the form "(_<single character>)", since this is the preferred way
94         for some languages to indicate accelerators.  (#323956, Yang Hong)
95
96         * gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
97         setting.
98         (gtk_label_grab_focus): And use it here to select the contents of
99         the label when appropriate.
100         (gtk_label_class_init): Use the same keybindings for select all/
101         unselect all as GtkEntry and GtkTextView.
102
103         * gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
104         focus, avoid leaving a selection in a label.
105
106 2005-12-25  Matthias Clasen  <mclasen@redhat.com>
107
108         * gtk/gtkwindow.c: Documentation fixes.  (#324815, 
109         Ross Burton)
110
111         * configure.in: Require GLib 2.9.2
112
113 2005-12-24  Matthias Clasen  <mclasen@redhat.com>
114
115         * gdk/gdkregion-generic.c: 
116         * gdk/gdkpolyreg-generic.c: 
117         * gdk/gdkregion.h: 
118         * gdk/gdkrectangle.c: Inline docs, use g_assert(), avoid 
119         extra allocation for rectangular regions.
120
121 Thu Dec 22 18:53:14 2005  Tim Janik  <timj@gtk.org>
122
123         * gtk/gtkobject.[hc]: renamed GUnowned to GInitiallyUnowned.
124
125 Thu Dec 22 17:55:11 2005  Tim Janik  <timj@gtk.org>
126
127         * gtk/gtkobject.h: parent type fixups in structure declarations.
128
129 Thu Dec 22 16:01:27 2005  Tim Janik  <timj@imendio.com>
130
131         * gtk/gtkobject.c: derive GtkObject from GUnowned,
132         so it initially has a floating reference count.
133         gtk_object_class_init(): installa floating flag handler with
134         libgobject, so for GtkObjects the flag is stored as GTK_FLOATING
135         in the ->flags member.
136
137         * tests/floatingtest.c: test floating flag uses.
138
139 2005-12-21  Matthias Clasen  <mclasen@redhat.com>
140
141         * gdk/gdkregion-generic.c: Use the slice allocator
142         for regions. Still todo: avoid extra allocations for
143         the single-rectangle case.
144
145         * gtk/gtksettings.c (gtk_settings_class_init): Update
146         class_n_properties after installing color-hash, since
147         other classes install settings, too.
148
149         * gtk/gtkctree.c: 
150         * gtk/gtkclist.c: Fix some mistakes in the conversion
151         from mem chunks to slice allocator.
152
153         * gtk/gtkiconview.c (adjust_wrap_width): Adjust the 
154         wrap-width also if an explicit item width is set.  
155         (#322475, Alex Graveley)
156         
157 2005-12-20  Matthias Clasen  <mclasen@redhat.com>
158
159         * gtk/gtkiconview.c (gtk_icon_view_button_press): Reset 
160         pressed_button to -1 after handling a double click, so that
161         motion events occurring between here and the release event
162         don't trigger DND.  (#324588, Dave Andreoli)
163
164 2005-12-19  Matthias Clasen  <mclasen@redhat.com>
165
166         * gtk/gtkcellrenderer.c: 
167         * gtk/gtkselection.c: 
168         * gtk/gtkcalendar.c: 
169         * gtk/gtkitemfactory.c: 
170         * gdk/gtkcombo.c: 
171         * gdk/gdkpixbuf-render.c: Documentation updates
172
173         * gtk/gtktreemodel.c: 
174         * gtk/gtkplug.c: 
175         * gtk/gtkwindow.c: Documentation fixes.
176
177 2005-12-19  Michael Natterer  <mitch@imendio.com>
178
179         * gtk/gtkentry.c: implement boolean property "truncate-multiline"
180         which, when enabled, truncates multi-line pastes or drops to their
181         first line. Fixes bug #322252.
182
183         * gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): enable
184         truncate-multiline here.
185
186 2005-12-17  Matthias Clasen  <mclasen@redhat.com>
187
188         * gtk/gtksettings.c (get_color_hash): Don't crash if
189         there is no color scheme.  (#324429, Diego Gonzalez)
190
191 2005-12-16  Matthias Clasen  <mclasen@redhat.com>
192
193         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
194         * gtk/gtkimmodule.c (gtk_im_module_load): 
195         * gtk/gtkthemes.c (gtk_theme_engine_load): 
196         * gtk/gtkmodules.c (find_module): Use G_MODULE_BIND_LAZY when
197         opening modules.
198
199         * gtk/gtksettings.[hc]: Rework the way the color scheme setting
200         is inherited. Now the overriding is done on a per-color basis,
201         rather than for the setting as a whole. This has the effect
202         that themes can declare defaults for all the symbolic colors they
203         use by specifying a value for the gtk-color-scheme setting in 
204         their rc file, while still allowing the XSetting to override
205         "standard" symbolic colors. The hash table is now available
206         through the color-hash property.
207         
208         * gtk/gtkrc.c: Use the new color-hash property.
209         
210 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
211
212         * gtk/gtkcontainer.c (_gtk_container_focus_sort): Skip unrealized
213         children when doing focus sorting.  (#323995, Dan Winship)
214
215 2005-12-14  Rodney Dawes  <dobey@novell.com>
216
217         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon):
218         Default to "drive-harddisk" and then fall back to gnome-dev-harddisk
219         (get_icon_for_mime_type): Look up the mime type icons according to the
220         Icon Naming Specification and then fall back to the gnome-mime- prefix
221         for the mime type icons
222
223         Fixes #323655
224         
225 2005-12-14  Matthias Clasen  <mclasen@redhat.com>
226
227         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Warn if the icon
228         cannot be loaded.  (#323504, Kjartan Maraas)
229
230         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add docs 
231         for the row-activated signal.  (#324044, Davyd Madeley)
232
233 2005-12-14  Michael Natterer  <mitch@imendio.com>
234
235         * tests/test-images/valid_jpeg_progressive_test: new test image.
236
237 Tue Dec 13 09:47:20 2005  Tim Janik  <timj@gtk.org>
238
239         * README.in: added a link to the floating reference docs in the
240         2.10 release NEWS section.
241
242 2005-12-12  Matthias Clasen  <mclasen@redhat.com>
243
244         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_index): 
245         Speed this function up, using the fact that visibility is 
246         constant across segments. (#321548, Paolo Borelli)
247
248         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
249         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Speed up
250         stepping backwards.  (#320638, Larry Ewing, Paolo Borelli)
251
252         * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast
253         _GTK_LOAD_ICONTHEMES if we detect a real theme change, not
254         upon initial theme load.  (#323876, Peter Lund)
255
256         * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register
257         the size-changed signal correctly.  (#323848, Murray Cumming)
258
259         * gtk/gtkmarshalers.list: Add necessary marshaller.
260
261         * gtk/gtktextview.c (gtk_text_view_get_border_window_size): Don't
262         fall thru to the wrong window types.  (#323843)
263
264         Make the gtk-color-scheme setting work.
265         
266         * gtk/gtksettings.h: 
267         * gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
268         that takes care of initializing the color hash if it is not 
269         already there.  
270
271         * gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get): 
272         And use it here.        
273
274 2005-12-10  Matthias Clasen  <mclasen@redhat.com>
275
276         * gdk/gdk.c (gdk_parse_args): Warn if parsing fails,
277         not if it succeeds. 
278
279 2005-12-09  Matthias Clasen  <mclasen@redhat.com>
280
281         * gtk/gtkselection.c (gtk_selection_data_get_uris): Don't
282         leak list[0].  (#323629, Markku Vire)
283
284         * gtk/gtktextbuffer.c (paste_from_buffer): Unref the buffer
285         when freeing the RequestData.  (#323577)
286
287 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
288
289         * demos/gtk-demo/iconview_edit.c (set_cell_color): Don't
290         leak text.
291
292         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
293         variable name clash.  (#323475, Ross Burton)
294
295 2005-12-07  Ross Burton  <ross@burtonini.com>
296
297         * docs/reference/gtk/tmpl/gtkenums.sgml:
298         * gtk/gtktoolbutton.c:
299         If the toolbar mode is ICONS and there is no icon set then show
300         the label, and vice versa (#322019)
301
302 2005-12-07  Matthias Clasen  <mclasen@redhat.com>
303
304         * gtk/gtktoolbutton.c (clone_image_menu_size): Fix a 
305         variable name clash.  (#323475, Ross Burton)
306
307         * gtk/gtktreeview.c (gtk_tree_view_key_press): Use the correct
308         window when synthesizing the key event.  (#323077,
309         Sadrul Habib Chowdhury)
310         
311         (gtk_tree_view_search_key_press_event): Also listen for
312         GDK_ISO_Left_Tab.  (#323077, Sadrul Habib Chowdhury)
313
314         * gtk/gtktextview.c (gtk_text_view_preedit_changed_handler): 
315         Only scroll if we have focus.  (#316310, Paolo Borelli)
316
317         * gtk/gtkfilesystemunix.c (cb_fill_in_mime_type): Fix a C99ism,
318         spotted by Crispin Flowerday.
319
320 2005-12-06  Behdad Esfahbod  <behdad@gnome.org>
321
322         * gtk/gtksettings.c (settings_update_font_options): Turn metrics
323         hinting on (part of #307196)
324
325 2005-12-06  Matthias Clasen  <mclasen@redhat.com>
326
327         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_reset): Don't
328         commit from reset, it upstets GtkTextView.
329
330         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Be more
331         careful when turning blinking on and off.
332         (gtk_text_view_focus_out_event): Make the cursor really invisible
333         when the focus goes away.  (#323087, Sadrul Habib Chowdhury)
334         (cursor_blinks): Check the gtk-cursor-blink setting first.
335
336         * gtk/gtktreeview.c (gtk_tree_view_key_press): Fix refcounting
337         issues with new_event and its window.
338
339         * gtk/gtkmenu.c (gtk_menu_attach_to_widget): Accept NULL
340         as a detach func.  (#323386, Jorn Baayen)
341
342         * gtk/gtkcalendar.c: Avoid conflict with win32 headers in
343         the libdate routines.  (#323045, Kazuki Iwamoto)
344
345         * gdk/gdk.c (gdk_parse_args): 
346         * gtk/gtkmain.c (gtk_parse_args): Don't ignore errors
347         from g_option_context_parse(). 
348
349 Tue Dec  6 11:37:59 2005  Tim Janik  <timj@gtk.org>
350
351         * gdk/gdkevents.c (gdk_event_new): fix missing hash table 
352         initialization.
353
354 Tue Dec  6 10:32:17 2005  Tim Janik  <timj@gtk.org>
355
356         * gtk/gtkstatusbar.c: ported memchunk uses to g_slice, so the code
357         compiles again.
358
359 2005-12-05  Federico Mena Quintero  <federico@ximian.com>
360
361         * gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
362         modifiers", not "event->state && modifiers".  Patch by Sadrul
363         Habib Chowdhury <imadil@gmail.com>.  Fixes bug #323073.
364
365 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
366
367         * gtk/gtkwidget.c: 
368         * gtk/gtkuimanager.c: 
369         * gtk/gtktreedatalist.c: 
370         * gtk/gtktext.c: 
371         * gtk/gtkmain.c: 
372         * gtk/gtkitemfactory.c: 
373         * gtk/gtkseparator.[hc]:
374         * gtk/gtkclist.[hc]: 
375         * gtk/gtkctree.c:
376         * gtk/gtkgc.c: Use g_slice instead of mem chunks.
377
378 2005-12-05  Michael Natterer  <mitch@imendio.com>
379
380         * gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
381         "timeout-initial", "timeout-repeat", "color-scheme" and
382         "enable-animations" to X settings.
383
384 2005-12-05  Matthias Clasen  <mclasen@redhat.com>
385
386         * gdk/gdkevents.c: 
387         * gdk/gdkcolor.c: Use g_slice instead of mem chunks.
388
389         * gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
390         after sending it to the search entry.  (#323209, Crispin Flowerday)
391
392         * README.in: Add a note about GTK_FLOATING.
393
394         * gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.
395
396 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
397
398         * gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
399         a pixbuf.  (#323024, Paolo Borelli)
400
401 2005-12-02  Matthias Clasen  <mclasen@redhat.com>
402
403         * gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
404         if mime_type is NULL.  (#322998, Sadrul Habib Chowdhury)
405
406 2005-12-02  Michael Natterer  <mitch@imendio.com>
407
408         * gtk/gtkmenu.c: applied modified patch from maemo-gtk which
409         adds a "horizontal-padding" style property. Fixes bug #323036.
410
411 2005-12-01  Michael Natterer  <mitch@imendio.com>
412
413         Merged modified patch from maemo-gtk that allows to disable
414         toolbar animations. Addresses bug #142582.
415
416         * gtk/gtksettings.c: added boolean property "gtk-enable-animations".
417         (patch from Christian Neumair)
418
419         * gtk/gtktoolbar.c: don't animate toolbar changes if the settings
420         property is FALSE. Replaced the individual "notify::foo"
421         connections to GtkSettings by a single "notify" callback and
422         dispatch internally.
423
424 2005-12-01  Michael Natterer  <mitch@imendio.com>
425
426         * gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
427         assignment of widget_class->motion_notify_event.
428
429 2005-11-29  Matthias Clasen  <mclasen@redhat.com>
430
431         * gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
432         an active property.  (#322673, Jorn Baayen)
433
434         Properly handle model changes in GtkTreeSelection: (#322569,
435         Milosz Derezynski)
436         
437         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): 
438         Get a reference to the model, and stop the iteration if the model
439         of the treeview is changed on the way.
440
441         * gtk/gtktreeprivate.h: 
442         * gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New 
443         private function to emit the GtkTreeSelection::changed signal.
444
445         * gtk/gtktreeview.c (gtk_tree_view_set_model): Call 
446         _gtk_tree_selection_emit_changed() when the model changes.
447
448 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
449
450         Fixes the critical warnings from bug #317999, thus fixing the bug
451         completely:
452
453         * gtk/gtkfilechooserdefault.c
454         (gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
455         use _gtk_file_chooser_get_current_folder_path() instead of fetching the
456         impl->current_folder directly.  The latter may be null if we are
457         in RELOAD_NONE state.
458
459 2005-11-28  Federico Mena Quintero  <federico@ximian.com>
460
461         Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):
462
463         * gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
464         current_folder to the pending select paths here; the path bar will
465         give it to us now.
466         (path_bar_clicked): Add the child_path to the pending select paths
467         here.
468         (show_and_select_paths): Don't filter out folders.
469         (show_and_select_paths): Don't take separate arguments for
470         only_one_path and multiple paths.
471
472         * tests/autotestfilechooser.c (test_folder_switch_and_filters):
473         New test about preserving the filters when we change folders.
474
475 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
476
477         * gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
478         -20 to come out as 20- in RTL locales.  (#322571, Tze'ela Hebron)
479
480         * gtk/gtkaction.c (gtk_action_sync_button_stock_id) 
481         (connect_proxy): Buttons use the label property for stock ids.  (#322565,
482         Milosz Derezynski)
483
484         * gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
485         handle the cell list and indices into it.  (#321856)
486
487 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
488
489         * gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
490         the timeout is done.  (#322291, Jean-Yves Lefort)
491
492 2005-11-28  Matthias Clasen  <mclasen@redhat.com>
493
494         * gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
495         F2 work for renaming bookmarks.  (#320822, Jaap A. Haitsma, patch
496         by Paolo Borelli)
497
498 2005-11-28  Tor Lillqvist  <tml@novell.com>
499
500         * gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
501         Implement the conditional use of FlashWindowEx() properly for MSVC
502         compilations. The code was confusingly assuming that if compiled
503         with a "new" compiler, it will only be run on "new" Windows
504         versions. We want it to run on "old" versions, too, even if
505         compiled with a "new" compiler. There are two orthogonal issues:
506         whether the compiler defines the necessary API in its headers, and
507         whether it is present at run-time. (#318077)
508
509         * gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
510         Windows to get the localized weekday and month names. strftime()
511         in the Microsoft C library returns strings in the default codepage
512         for the locale of the process, not the system codepage. Thus
513         g_locale_to_utf8() isn't useable on the return value from
514         strftime(). (#322603)
515
516 2005-11-27  Matthias Clasen  <mclasen@redhat.com>
517
518         * gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): 
519         Fix an example.  (#322493, Elie De Brauwer)
520         
521         Fix two memory handling problems in GtkTreeView: (#322350, 
522         Søren Sandmann)
523         
524         * gtk/gtktreeview.c (gtk_tree_view_destroy) 
525         (gtk_tree_view_set_model): Remove all references to nodes in
526         the old model.
527         (gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
528         before removing the children.
529
530         * gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a 
531         PangoLayout here.  (#322505, Paolo Borelli)
532
533 2005-11-27  Tor Lillqvist  <tml@novell.com>
534
535         Once again rework Win32 window decoration code. Doesn't break
536         #104514. The dialogs in gtk-demo now have the same decorations and
537         behaviour as on X11. Tried to fix #322516 but it seems very hard
538         to make the trivial sample program there behave as expected. OTOH,
539         simply moving the gtk_window_decorate() call in the #322516 sample
540         program after the call to gtk_widget_show() helps...
541             
542         * gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
543         the correct semantics. Each call to gdk_window_set_decorations()
544         which calls this function is supposed to affect all decorations.
545
546         (decorate_based_on_hints): New function, looks at both geometry
547         hints and type hint and sets window decorations based on
548         that. Consolidate code from gdk_window_set_geometry_hints() and
549         gdk_window_set_type_hint() here.
550
551         (gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
552         decorate_based_on_hints().
553
554 2005-11-25  Dom Lachowicz <cinamod@hotmail.com>
555
556         * modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
557         Includes improved menu icon spacing, [+]/[-] expander drawing,
558         status-bar gippie drawing, and notebook tab drawing.
559         
560 2005-11-24  Michael Natterer  <mitch@imendio.com>
561
562         * gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
563         that used to hold signal handler IDs to two guint of padding.
564
565         * gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
566         gulong here.
567
568         (gtk_toolbar_screen_changed): changed accordingly.
569
570 Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>
571
572         * gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
573         in terms of the GObject floating/sink API.
574
575         * gtk/gtkaboutdialog.c:
576         * gtk/gtkaction.c:
577         * gtk/gtkcellview.c:
578         * gtk/gtkclist.c:
579         * gtk/gtkcolorsel.c:
580         * gtk/gtkcombobox.c:
581         * gtk/gtkfilechooserdefault.c:
582         * gtk/gtkiconview.c:
583         * gtk/gtkinvisible.c:
584         * gtk/gtkitemfactory.c:
585         * gtk/gtklayout.c:
586         * gtk/gtkmenu.c:
587         * gtk/gtkmenutoolbutton.c:
588         * gtk/gtknotebook.c:
589         * gtk/gtkprogress.c:
590         * gtk/gtkrange.c:
591         * gtk/gtkspinbutton.c:
592         * gtk/gtkstatusicon.c:
593         * gtk/gtktext.c:
594         * gtk/gtktextview.c:
595         * gtk/gtktoolbar.c:
596         * gtk/gtktoolbutton.c:
597         * gtk/gtktoolitem.c:
598         * gtk/gtktreeitem.c:
599         * gtk/gtktreeview.c:
600         * gtk/gtktreeviewcolumn.c:
601         * gtk/gtkuimanager.c:
602         * gtk/gtkviewport.c:
603         * gtk/gtkwidget.c:
604         * gtk/gtkwindow.c:
605         ported to use GObject's g_object_ref_sink().
606
607         * gtk/gtkcolorsel.c:
608         * gtk/gtkfilechooserdefault.c:
609         * gtk/gtkaboutdialog.c:
610         fixed compiler warnings.
611
612 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
613
614         * gtk/gtksettings.c (gtk_settings_class_init): Add some docs
615         about gtk-color-scheme.
616
617 2005-11-23  Behdad Esfahbod  <behdad@gnome.org>
618
619         * configure.in (enable_explicit_deps): Fix typo when checking
620         libtool config deplibs_check_method. Moreover, enable explicit
621         deps if we get anything other than pass_all from libtool. (part of
622         #318750)
623
624 2005-11-23  Matthias Clasen  <mclasen@redhat.com>
625
626         * gtk/updateiconcache.c (write_csource): Don't create a big
627         string, since Visual C++ doesn't like strings longer than 64k. 
628         (#322238, Kazuki IWAMOTO
629
630         * gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
631         Kazuki IWAMOTO)
632
633 2005-11-23  Michael Natterer  <mitch@imendio.com>
634
635         * gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
636         windows on other screens (correctly remove all temporary
637         references).
638
639 2005-11-23  Michael Natterer  <mitch@imendio.com>
640
641         Added symbolic themable colors. Patch is a merged version of
642         proposals from Matthias and maemo-gtk. Fixes bug #114355.
643
644         * configure.in: require glib >= 2.9.1 for refcountable hashtables.
645
646         * gtk/gtksettings.c: added property "color-scheme" which is a
647         string defining colors like "foreground:black\nbackground:grey".
648         Automatically provide a name->GdkColor hash table mapping for the
649         color scheme.
650
651         * gtk/gtkrc.[ch]: added list of color hashes that works like the
652         list of icon factories. Append the color scheme hash from
653         GtkSettings if it exists. Extended gtkrc syntax to allow defining
654         and referencing of logical colors. Also allow to modulate colors
655         in gtkrc by using arbitrary expressions of mix(), shade(),
656         lighter() and darker(). Added internal function
657         _gtk_rc_style_get_color_hashes().
658
659         * gtk/gtkstyle.[ch]: keep a private list of color hashes around.
660         Get the list from _gtk_rc_style_get_color_hashes(). Export
661         internal function _gtk_style_shade() (used by above color
662         expressions). Added public API gtk_style_lookup_color() which
663         looks up a logical color by name.
664
665         * gtk/gtk.symbols: add gtk_style_lookup_color
666
667         * tests/testgtkrc: use symbolic colors for making
668         the scrollbars red.
669
670 2005-11-22  Michael Natterer  <mitch@imendio.com>
671
672         Made button-press timeouts which work like key repeat timeouts
673         configurable. Addresses bug #142582:
674
675         * gtk/gtksettings.c: added properties "gtk-timeout-initial" and
676         "gtk-timeout-repeat" which defalt to 200/20 (ms).
677
678         Use the values from GtkSettings instead of hardcoding them
679         (the repeat value is either taken as-is for fast repeat or
680         multiplied by 5 for slow repeat). Changed all places to use these
681         two standard initial/repeat timings:
682
683         * gtk/gtkcalendar.c (unchanged 200/20)
684         * gtk/gtknotebook.c (unchanged 200/100)
685         * gtk/gtkpathbar.c (changed from 300/150 to 200/100)
686         * gtk/gtkrange.c (changed from 250/100 to 200/100)
687         * gtk/gtkspinbutton.c (unchanged 200/20)
688
689 2005-11-21  Anders Carlsson  <andersca@imendio.com>
690
691         * configure.in:
692         * gtk/Makefile.am:
693         * gdk/Makefile.am:
694         * gdk/quartz/*:
695         Add quartz backend.
696         
697         * docs/tools/Makefile.am:
698         Only build docshooter when the X11 backend is used.
699         
700         * gtk/gtkplug-stub.c:
701         Include gtkplug.h here.
702         
703         * gtk/gtksocket-stub.c:
704         Include gtksocket.h here.
705         
706 2005-11-21  Matthias Clasen  <mclasen@redhat.com>
707
708         * gtk/gtkinputdialog.c: Convert GtkInputDialog to 
709         g_type_class_add_private.
710
711         * gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.
712
713         * gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.
714
715         * gtk/gtk.symbols:
716         * gtk/gtkcombobox.[hc]: Add a tearoff-title property,
717         with getter and setter.  (#316482, Olexiy Avramchenko)
718
719         * tests/testcombo.c (main): Test gtk_combo_box_set_title
720
721         * gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
722         pointed out by Michael Natterer.
723
724         Fix for bug #321542, Benedikt Meurer:
725         
726         * gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
727         Emit notify::active.
728         
729         (gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
730         g_signal_emit, not g_signal_emit_by_name.
731
732 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
733
734         Fix crashes in connection with pathbar scrolling (#321560,
735         Bogdan Nicula)
736         
737         * gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons): 
738         Stop scrolling when desensitising slider buttons.
739         (gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press): 
740         And use it here.  
741
742         * gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
743         scrolling_down flag.
744
745 2005-11-18  Matthias Clasen  <mclasen@redhat.com>
746
747         * gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
748         (#321777, Jens Granseuer)
749
750         * gtk/gtkaction.c (disconnect_proxy): Disconnect the
751         sync callback for the visibility property.  (#321761,
752         Philip Langdale)
753
754         Turn off input methods in invisible entries, since
755         they are confusing.  (#317002, James Su)
756         
757         * gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
758         methods if visibility changes.
759         (popup_targets_received): Don't show the input method
760         menu if the entry is invisible.  
761
762 2005-11-17  Matthias Clasen  <mclasen@redhat.com>
763
764         * README.in: Add a note about range arrow sensitivity.
765
766         * perf/treeview.c: const correctness fixes
767         found by Arjan van de Ven and gcc.
768
769 2005-11-16  Michael Natterer  <mitch@imendio.com>
770
771         * gtk/gtkimage.c (animation_timeout): call
772         gtk_window_process_updates() so the animation keeps running even
773         if the main loop is busy with sources that eat a lot of cpu with
774         high priority. Fixes bug #321444.
775
776         (gtk_image_new_from_animation): document the fact that the
777         animation will stop running if the main loop is busy with sources
778         that have priorities higher than G_PRIORITY_DEFAULT.
779
780         * tests/testimage.c: added test case that shows an animation even
781         though a cpu-eating idle function is running.
782
783 2005-11-16  Michael Natterer  <mitch@imendio.com>
784
785         * gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
786         function which destroys the display's event source. Also removes
787         the source from the global display_sources list and unrefs it.
788
789         * gdk/x11/gdkprivate-x11.h: declare the function.
790
791         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
792         instead of half-destroying the source here.
793
794 2005-11-15  Matthias Clasen  <mclasen@redhat.com>
795
796         * gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
797         leak.  (#321032, Peter Zelezny)
798
799 2005-11-15  Michael Natterer  <mitch@imendio.com>
800
801         * gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
802         display->xid_ht as late as possible (right before XCloseDisplay)
803         because it still needs to be around when the display's screens are
804         finalized. (#85715)
805
806 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
807
808         * gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
809         leak result.  (#321441, Tommi Komulainen)
810
811 2005-11-14  Matthias Clasen  <mclasen@redhat.com>
812
813         * gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
814         Don't crash if there is no builtin icon.
815
816 2005-11-14  Michael Natterer  <mitch@imendio.com>
817
818         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
819         removed redundant calls to g_object_notify().
820
821 2005-11-13  Matthias Clasen  <mclasen@redhat.com>
822
823         * gdk/gdkcolor.c (gdk_color_parse): Documentation 
824         improvements.  (#321338)
825
826         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
827         limit an inclusive boundary.  (#321299)
828
829 2005-11-12  Michael Natterer  <mitch@imendio.com>
830
831         * gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
832         rebuilt if needed.
833
834 2005-11-12  Dom Lachowicz <cinamod@hotmail.com>
835
836         * modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
837         theme's handling of toolbars, handleboxes, and menubars more in-line
838         with Microsoft's IE style.
839         * modules/engines/ms-windows/*.c: Indentation cleanups
840         
841 2005-11-12  Matthias Clasen  <mclasen@redhat.com>
842
843         Make builtin icons work in gtk_window_set_icon_name() 
844         (#321046, Maxim Udushlivy)
845
846         * gtk/gtkicontheme.c (insert_theme): Always insert the default
847         theme.
848         (ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
849         from here.
850         (theme_lookup_icon, find_builtin_icon): ...and not from here.
851         (gtk_icon_theme_lookup_icon): Remove an unncessary assert.
852         (gtk_icon_theme_get_icon_sizes): Also check builtin icons.
853
854 2005-11-12  Tor Lillqvist  <tml@novell.com>
855
856         * gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
857         dotfiles, no such convention on Win32. Just hide files with the
858         hidden attribute. (#314627)
859
860 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
861
862         * gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
863         check whether the path is a folder.  It is useful to bookmark
864         files as well (e.g. todo.txt), and this will also help
865         performance.
866         (shortcuts_add_bookmark_from_path): Likewise.
867         (shortcuts_activate_iter): Change folders or select files, as
868         appropriate.
869
870 2005-11-11  Federico Mena Quintero  <federico@ximian.com>
871
872         * tests/autotestfilechooser.c (main): Use
873         g_log_set_default_handler() instead of explicitly setting a
874         handler for each domain.
875
876         * gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
877         the base path of the volume if it is mounted.
878
879 2005-11-11  Michael Natterer  <mitch@imendio.com>
880
881         Added per-stepper API for GtkRange's stepper sensitivity as
882         discussed in bug #321056:
883
884         * gtk/gtkenums.h: added GtkSensitivityType which can be
885         { AUTO, ON, OFF }.
886
887         * gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
888         and "upper-stepper-sensitivity" and public getters/setters for
889         them. Changed stepper drawing to honor the new properties.
890
891         * gtk/gtk.symbols: added the new symbols.
892
893 2005-11-10  Matthias Clasen  <mclasen@redhat.com>
894
895         * gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
896         emit them when the popup is shown or hidden.  (#162531, Tommi
897         Komulainen)
898
899         * tests/testcombo.c: Add an example of popuplating a combobox
900         on click.
901
902         * gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
903         erroneous semicolon.
904
905         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
906         semicolon. 
907
908         Don't corrupt odd keymaps (#316638, Kean Johnston)
909         
910         * gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
911         handle frobbing keymaps with odd numbers of syms/code.
912         
913         * gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
914         frob the keymap.
915
916         Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
917         
918         * gtk/gtkpathbar.[hc]: Add a child_path argument to
919         the path_clicked signal.
920         * gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
921         child_path, if it is provided.
922         * gtk/marshalers.list (path_bar_clicked): Add the necessary
923         glue.
924
925         * gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
926         Kjartan Maraas)
927         
928         * gtk/gtk.symbols: 
929         * gtk/gtktreeview.h: 
930         * gtk/gtktreeview.c: Implement a getter for headers-clickable.
931         (#163851, Richard Hult)
932
933 2005-11-10  Michael Natterer  <mitch@imendio.com>
934
935         Applied patch from maemo-gtk that addresses many issues wrt
936         display migration and display closing (bug #85715).
937
938         * gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
939         default display to NULL when it's closed. Instead set the most
940         recently opened display as new default (if one exists).
941
942         * gdk/gdkpango.c (on_renderer_display_closed): fixed signature
943         of this callback.
944
945         * gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
946         exist before unrefing them.
947
948         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
949         is closed, allow destruction of the root window.
950
951         * gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
952         dispose(), free stuff that was leaked before.
953
954         * gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
955         the xsettings_client still exists before destroying it.
956
957         * gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
958         X resources.
959
960         * gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
961         dispose() implementation.
962
963         * gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
964         dispose() and check if it still exists before unrefing it. Set
965         their pointers to NULL/None *after* upchaining in dispose(),
966         because X11 implementations of members of the parent class still
967         need them for their own destruction.
968
969         * gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
970         was g_error()ing when finalizing a visual.
971
972         * gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
973         get_clipboard_widget() because it would create the widget if it
974         doesn't exist. Use g_object_get_data() directly instead.
975
976         * gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
977         of this callback.
978
979 2005-11-10  Simos Xenitellis  <simos@gnome.org>
980
981         * configure.in: Added Tatar (tt) to ALL_LINGUAS.
982
983 Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>
984
985         * gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
986         to render its arrows insensitive when the adjustment is in
987         its min or max position. this makes range arrow behaviour 
988         consistent with spin button behaviour. (#321056)
989
990 2005-11-09  Tor Lillqvist  <tml@novell.com>
991
992         * gdk/gdkinternals.h
993         * gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
994         the GdkDebugFlag enum.
995
996         * gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
997         this file instead of MISC. Now asking for MISC will give mainly
998         window manipulation debugging output with the Win32 backend.
999
1000 2005-11-09  Tor Lillqvist  <tml@novell.com>
1001
1002         * gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.
1003
1004         (_gdk_win32_get_adjusted_client_rect): Remove this two-line
1005         function which was used only in one place.
1006
1007         (get_outer_rect): Use _gdk_win32_adjust_client_rect().
1008
1009         (gdk_window_set_geometry_hints): If we have identical minimum and
1010         maximum size hints, remove the resize and maximize
1011         decorations/functions. (#104514)
1012
1013         If we have a maximum size hint, remove the maximize
1014         decoration/function but ensure the resize decoration/function is
1015         available. Otherwise ensure both resize and maximize
1016         decorations/functions are there.
1017
1018         (set_or_clear_style_bits): Factored out common code from
1019         gdk_window_set_decorations() and gdk_window_set_functions(). 
1020
1021         Hack the window style setting once more: Only touch the window
1022         style bits corresponding to the GdkWMDecoration or GdkWMFunction
1023         parameter bitmasks. Hopefully this finally is the correct thing to
1024         do. We used to clear all other bits than those that were being
1025         set, or set all other bits than those that were being cleared.
1026
1027         Take into account that adding or removing decorations leaves the
1028         window's outer size unchanged, i.e., the client area's size and
1029         position change. This is apparently not what we want, so change
1030         also the window's (outer) position and size appropriately so that
1031         the client area's position and size stay constant.
1032
1033         gtk-demo's color selector dialog is now non-resizable like on X11
1034         (I tested with metacity in GNOME). Torn off menus are shrinkable
1035         vertically but have a maximum size, and are not maximizable or
1036         minimizable, like on X11.
1037
1038         (gdk_window_set_decorations, gdk_window_set_functions): Let
1039         set_or_clear_decorations() do most of the job.
1040
1041         * gdk/win32/gdkprivate-win32.h: Remove declaration of
1042         _gdk_win32_get_adjusted_client_rect().
1043
1044 2005-11-09  Tor Lillqvist  <tml@novell.com>
1045
1046         * gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
1047         * gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
1048         gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
1049         type hint. Implement gdk_window_get_type_hint() by just returning
1050         the hint stored.
1051
1052 2005-11-09  Tor Lillqvist  <tml@novell.com>
1053
1054         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
1055         Remove code that has been permanently ifdeffed out for two years.
1056
1057 2005-11-08  Matthias Clasen  <mclasen@redhat.com>
1058
1059         * gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
1060         finalizing a gc.  (#320789, Nickolay V. Shmyrev)
1061
1062         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
1063         icons if they would make the request large enough to cause
1064         Xlib to loose the connection.  (#320909, Claudio Saavedra)
1065
1066 2005-11-08  Michael Natterer  <mitch@imendio.com>
1067
1068         * gdk/gdk.symbols
1069         * gdk/gdkwindow.h
1070         * gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
1071         extracted from maemo-gtk). Fixes bug #320872.
1072
1073 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
1074
1075         * gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
1076         looks the bookmark label when reordering.  (#320720, Jeremy Cook)
1077
1078         * gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
1079         Don't grab focus when a slider button is pressed, instead, use
1080         a bit in the pathbar struct to determine whether to scroll up
1081         or down.  (#314486, Carlos Garnacho)
1082
1083         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
1084         Don't popup the completions if the focus has already been
1085         moved somewhere else.  (#319914, Christian Persch)
1086
1087         * gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
1088         Raise the drag_window after reconfiguring the 
1089         toolbar.  (#320803, Christian Persch)
1090
1091         * gtk/gtk.symbols: 
1092         * gtk/gtkfilechooserbutton.h: 
1093         * gtk/gtkfilechooserbutton.c: Add a focus-on-click property
1094         with setter and getter.  (#318945, Christian Persch)
1095         
1096 Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>
1097
1098         * configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.
1099
1100 2005-11-07  Matthias Clasen  <mclasen@redhat.com>
1101
1102         * configure.in: Adjust to the stock icon changes.
1103         
1104 2005-11-07  Tor Lillqvist  <tml@novell.com>
1105
1106         * gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
1107         Correct the calculation of maskstride. (#320152, Peter Zelezny)
1108         
1109 2005-11-06  Michael Natterer  <mitch@imendio.com>
1110
1111         * gtk/Makefile.am (icons): fixed rule to actually create the
1112         symlinks, erroring out if anything goes wrong.
1113
1114 2005-11-06  Tor Lillqvist  <tml@novell.com>
1115
1116         * gtk/updateiconcache.c (build_cache): Can't rename a file if the
1117         target exists on Win32. First rename the target temporarily, then
1118         if the renaming of the source to target fails, restore the
1119         original name for the target.
1120
1121         * gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.
1122
1123 2005-11-06  Tor Lillqvist  <tml@novell.com>
1124
1125         (pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
1126         like pixbuf_to_hbitmaps_normal().
1127         (_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
1128         G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
1129         setting the G_WIN32_PRETEND_WIN9X environment variable.
1130         
1131 2005-11-06  Tor Lillqvist  <tml@novell.com>
1132
1133         Make icon masks work on Win98 (#320152, Peter Zelezny)
1134
1135         * gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
1136         parameter for the depth of the bitmap, so that this function can
1137         be used to create 1-bit bitmaps, too.
1138         (pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
1139         and initialize it properly.
1140
1141 2005-11-04  Matthias Clasen  <mclasen@redhat.com>
1142
1143         Store builtin stock icons in an icon cache, instead of
1144         populating a hash table with pixbufs at startup, to save both
1145         memory and startup time.
1146
1147         * gtk/stock-icons/*: Reorganize the icons in a directory structure
1148         suitable for gtk-update-icon-cache, and rename them to match the
1149         stock ids.
1150
1151         * gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
1152         add _gtk_icon_cache_has_icon_in_directory().
1153
1154         * gtk/updateiconcache.c: Support a --source <VARIABLE> argument
1155         to store the contents of the icon cache in a C header.
1156
1157         * gtk/gtkbuiltincache.h: Generated private header which contains 
1158         the icon cache for the builtin icons.
1159
1160         * gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
1161         icons, and use that in addition to the hash table whenever
1162         builtin icons are searched.
1163
1164         * gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
1165         use it for static stock ids. 
1166         (get_default_icons): Don't add the builtin
1167         icons to the icon theme, just register the stock ids.
1168         (render_fallback_image): Take the fallback image out of the
1169         builtin icon cache.
1170         
1171         * gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
1172         the necessary machinery to rebuild gtkbuiltincache.h.
1173
1174 2005-11-04  Michael Natterer  <mitch@imendio.com>
1175
1176         * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
1177         from maemo-gtk that changes the mtime check for rc files from
1178         '>' to '!=', otherwise theme changes go unnoticed when turning
1179         back the clock (Tommi Komulainen).
1180
1181 2005-11-04  Tor Lillqvist  <tml@novell.com>
1182
1183         * gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
1184         leak on Win32.
1185
1186 2005-11-03  Tor Lillqvist  <tml@novell.com>
1187
1188         * gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
1189         the Win32 backend, check that GdkDisplay* parameters are equal to
1190         _gdk_display instead of using the unnecessarily general
1191         GDK_IS_DISPLAY().
1192
1193         (pixbuf_to_hbitmaps_alpha_winxp): Rename the variables for the
1194         color bitmap to have "color" in their name, for similarity with
1195         pixbuf_to_hbitmaps_normal(). Create a color bitmap for the mask,
1196         too, instead of creating a b&w bitmap with CreateBitmap(). Set up
1197         the mask bitmap's contents, ones for those pixels in the color
1198         bitmap where the alpha is zero, zero for other pixels. We used to
1199         use an uninitialized mask bitmap! This meant that icons and
1200         cursors created presumably worked more or less by accident.
1201         Totally blank icons with zero alpha everywhere (as used by
1202         gtktrayicon.c) definitely did not work as expected.
1203
1204         * gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
1205
1206         * gtk/gtkstatusicon.c: Implement for Win32. Use code from
1207         gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
1208         necessary and can be removed from CVS. It has never been mentioned
1209         in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
1210         are used on Win32. One label widget is used (but never shown) as
1211         gtk_widget_render_icon() needs a widget.
1212
1213         Ifdefs used as necessary in several places. It might be cleaner to
1214         split out the backend-specific parts to separate files, or at
1215         least collect them into separate blocks in the file.
1216
1217         (wndproc): New function. Window procedure to monitor mouse events
1218         in the system tray icon. Call gtk_status_icon_button_press() as
1219         needed.
1220         (create_tray_observer): New function. Creates a hidden window that
1221         only serves as a tray icon message observer.
1222
1223         * tests/teststatusicon.c (icon_activated): Position the dialog
1224         with GTK_WIN_POS_CENTER.
1225         (do_quit): New function, hide and unref the GtkStatusIcon, and
1226         call gtk_main_quit().
1227         (popup_menu): Add a Quit menu item that calls do_quit().
1228         
1229 2005-11-02  Tor Lillqvist  <tml@novell.com>
1230
1231         * gdk/win32/gdkcolor-win32.c
1232         * gdk/win32/gdkscreen-win32.c
1233         * gdk/win32/gdkwindow-win32.c: Whitespace consistency
1234         fixes. Remove superfluous test for GdkWindow* parameters being
1235         non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
1236         GdkScreen and one GdkDisplay in the Win32 backend, use those
1237         variables instead of the getter functions. For GdkDisplay* and
1238         GdkScreen* parameters, check that they are equal to the
1239         corresponding singleton variables instead of the more general
1240         GDK_IS_DISPLAY() or GDK_IS_SCREEN().
1241
1242 2005-11-02  Matthias Clasen  <mclasen@redhat.com>
1243
1244         * gtk/gtktextview.c: Remove some g_return_if_fail() from
1245         static functions, replace some others by g_assert().
1246         
1247         * gtk/gtktextview.c (selection_motion_event_handler) 
1248         (gtk_text_view_start_selection_drag): Keep track of the original
1249         selection boundaries during a drag selection, in order to correctly
1250         decide when to extend or shrink the selection.  (#320167,
1251         reported by Arvind S N, patch by Paolo Borelli)
1252
1253         * gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
1254         * gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
1255         manual offset calculations by g_utf8_offset_to_pointer().
1256         (#320360, Paolo Borelli)
1257
1258 Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>
1259
1260         * gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
1261         nodes via the g_slice_*() API.
1262         _gtk_rbtree_new(): fixed wrong node allocation via g_new().
1263
1264 2005-11-01  Tor Lillqvist  <tml@novell.com>
1265
1266         * gdk/win32/gdkprivate-win32.h
1267         * gdk/win32/gdkglobals-win32.c
1268         * gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
1269         pre-interned GdkAtoms and pre-registered clipboard formats. Sort
1270         their declarations, definitions and assignments into a more
1271         logical and consistent order.
1272
1273         * gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
1274         CF_ prefix for the predefined clipboard format names. Put quotes
1275         around registered format names to distinguish them.
1276         
1277         * gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
1278         immediately with a warning if the property type is STRING, TEXT,
1279         COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
1280         should never pretend to handle on Win32. Handle only UTF8_STRING
1281         here, other formats with delayed rendering. Use \uc1 instead of
1282         \uc0 when generating Rich Text Format for easier testability on
1283         XP, where WordPad misinterprets \uc0 encoded characters. Add more
1284         GDK_NOTE debugging output for Clipboard operations.
1285
1286         * gdk/win32/gdkselection-win32.c: Debugging printout improvements.
1287         (gdk_selection_convert): Don't pretent to handle STRING, just
1288         UTF8_STRING. Streamline error handling, don't unnecessarily have a
1289         GError which then isn't used for anything anyway if it gets set.
1290         (gdk_win32_selection_add_targets): Skip also STRING, TEXT,
1291         COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.
1292
1293         * config.h.win32.in: Sync with what configure produces.
1294
1295         * configure.in: Don't look for X_PACKAGES unless building for
1296         x11. (#313986, John Ehresman)
1297
1298 2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>
1299
1300         * configure.in: Added ku (Kurdish) to ALL_LINGUAS
1301                         Wondered why there was no ku there before??
1302
1303 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
1304
1305         * gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
1306         window to the toplevels window group.  (#319912, Christian Persch)
1307
1308 2005-10-28  Kristian Rietveld  <kris@gtk.org>
1309
1310         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
1311         stupid thinko.
1312
1313 2005-10-28  Matthias Clasen  <mclasen@redhat.com>
1314
1315         * gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
1316         drag cursors.  (#319200, Federico Mena Quintero)
1317
1318         * gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
1319         Shift-G to go to the previous match, like firefox.  (#320061, Christian 
1320         Neumair)
1321
1322         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
1323         C99ism.  (#320000, Kazuki Iwamoto)
1324
1325         * gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
1326         stars.  (#319985, Bastien Nocera)
1327
1328         * gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
1329         FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)
1330
1331 2005-10-26  Michael Natterer  <mitch@imendio.com>
1332
1333         Fix bug #319974:
1334
1335         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
1336         make sure that setting any of pixbuf/stock-id/icon-name resets the
1337         others because they are mutually exclusive, and that unsetting any
1338         of them only resets the pixbuf and nothing else. Also added
1339         some missing g_object_notify().
1340
1341         (gtk_cell_renderer_pixbuf_get_property): simplified calls to
1342         g_value_set_object().
1343
1344         (gtk_cell_renderer_pixbuf_create_stock_pixbuf)
1345         (gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
1346         g_object_notify ("pixbuf").
1347
1348 2005-10-27  Matthias Clasen  <mclasen@redhat.com>
1349
1350         * gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
1351         careful about initializing cell_area.  (#319382, Tommi
1352         Komulainen)
1353
1354         * gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
1355         Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)
1356
1357         * demos/gtk-demo/clipboard.c (paste_received): Only set the
1358         text if it is not NULL.  (#319930, Thomas Klausner)
1359
1360         * gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
1361         loader before trying to get the pixbuf.  (#319930, Thomas Klausner)
1362
1363 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
1364
1365         * gtk/gtkfilesystem.c (gtk_file_system_module_load): 
1366         * gtk/gtkthemes.c (gtk_theme_engine_load): 
1367         * gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
1368         when dlopening modules.  (#319557, Laszlo Peter)
1369
1370 2005-10-26  Matthias Clasen  <mclasen@redhat.com>
1371
1372         * gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
1373         segments when determining text direction.  (#319065, Tommi Komulainen)
1374
1375         * gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
1376         on duplicate destroy.  (#318953, Gustavo Carneiro)
1377
1378         * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
1379         Point out that destroy-with-parent is a bad idea for the dialog
1380         passed to this function.  (#318943, Christian Persch)
1381
1382         * */Makefile.am: use $(GLIB_MKENUMS) instead of 
1383         glib-mkenums.  (#318582, Damien Carbery)
1384
1385         * gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
1386         docs.  (#317682, Christian Neumair)
1387
1388         * gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
1389         seem to affect the placement of the data in the readonly 
1390         section, and causes problems with some compilers.  (#317844)
1391
1392 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
1393
1394         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
1395         Fix some issues with background drawing in RTL.  (#318781,
1396         Eric Cazeaux)
1397
1398         * tests/Makefile.am:
1399         * tests/testentrycompletion.c: Apply a patch by Christian
1400         Persch to add property editors.
1401
1402         * gtk/gtkstatusicon.c: Emit activate on single-click,
1403         not on double-click, change proposed by Milosz Derezynski.
1404
1405 2005-10-25  Kristian Rietveld  <kris@gtk.org>
1406
1407         Fixes #311955, reported by Markku Vire; and a lot more.
1408
1409         * gtk/gtktreemodelfilter.c: Made this thing work correctly.
1410         Levels can now have invisible nodes cached, functions have been
1411         rewritten/refactored to take this into account; also the logic in
1412         some functions has been corrected.
1413         
1414         Each referenced node now references all visible children or a single
1415         invisible child, in order to be able to monitor all changes in the
1416         child model required for correct operation.
1417
1418         When a virtual root is set, all nodes on the virtual root level are
1419         referenced.
1420
1421         At last, a bunch of random bug fixes and comment updates.
1422
1423 2005-10-25  Matthias Clasen  <mclasen@redhat.com>
1424
1425         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
1426         more docs.  (#319722, Paolo Borelli)
1427
1428         * gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
1429         initialization of screen_x11->xft_rgba more explicit.  (#319627,
1430         Bogdan Nicula)
1431
1432         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
1433         in a blurb.  (#319499, Francisco Javier F. Serrador)
1434
1435 2005-10-24  Matthias Clasen  <mclasen@redhat.com>
1436
1437         Add settings to hide the input method and Unicode control character
1438         submenus in the context menus of GtkEntry and GtkTextView.  
1439         
1440         * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
1441         
1442         * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.
1443
1444         * gtk/gtktextview.c (popup_targets_received): 
1445         * gtk/gtkentry.c (popup_targets_received): Use the settings here.
1446
1447 2005-10-24  Kristian Rietveld  <kris@gtk.org>
1448
1449         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
1450         row-has-child-toggled when the level is not in the cache does not
1451         make sense.  (This bug probably crept in during the early stages
1452         of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
1453         implementation yet),
1454         (gtk_tree_model_sort_real_unref_node): only get the child iter
1455         when we will actually also use it.
1456
1457 2005-10-22  Michael Natterer  <mitch@imendio.com>
1458
1459         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
1460         widget being realized, in addition to being visible, to avoid
1461         running into precondition check in gtk_tree_view_get_cell_area().
1462         (approved by Kris).
1463
1464 2005-10-22  Dom Lachowicz <cinamod@hotmail.com>
1465
1466         * modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
1467         Experimentally, scrollbar steppers can shrink to 8 pixels on 
1468         Win32. Reflect that in the theme.
1469         * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
1470         there is a 1-pixel border between a scrollbar and its child
1471         in ScrolledWindows on Win32. Reflect that in the theme.
1472         
1473 2005-10-20  Matthias Clasen  <mclasen@redhat.com>
1474
1475         * gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
1476         for the selection window.  (#318806, Alex Larsson)
1477
1478 2005-10-18  Federico Mena Quintero  <federico@ximian.com>
1479
1480         Fixes bug #317999:
1481
1482         * tests/autotestfilechooser.c
1483         (test_button_folder_states_for_action): Test that we have either
1484         $cwd or the explicitly-set folder.
1485         (test_reload_sequence): Likewise.
1486
1487         * gtk/gtkfilechooserdefault.c
1488         (gtk_file_chooser_default_get_current_folder): If our reload_state
1489         is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
1490
1491 2005-10-14  Tor Lillqvist  <tml@novell.com>
1492
1493         * gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
1494         It didn't really do anything useful, and was just confusing and
1495         incomplete. Comments claimed we don't do delayed rendering, but in
1496         fact we do, for images. (The delayed rendering code has other
1497         problems, though, see #168173.) The clipboard viewer code was
1498         probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
1499         the message when necessary). It was just test code, it said so in
1500         a comment. Add something similar back later if necessary.
1501
1502         (_win32_on_clipboard_change,
1503         _gdk_win32_register_clipboard_notification): Remove.
1504
1505         (gdk_display_supports_selection_notification,
1506         gdk_display_request_selection_notification): Always just return
1507         FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.
1508
1509 2005-10-13  Tor Lillqvist  <tml@novell.com>
1510
1511         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
1512         Alt-Enter specially. It does not have any special meaning and
1513         should be passed on to the application. (#318378, Tim Evans)
1514
1515 2005-10-13  Tor Lillqvist  <tml@novell.com>
1516
1517         Set visual depth to 24 for 32 bits-per-pixel devices on
1518         Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
1519         optimized composite_0888() function rather than the slower image
1520         dithering functions to draw pixbufs (#313993, John Ehresman)
1521
1522         * gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
1523         _gdk_windowing_get_bits_for_depth() to initialize
1524         GdkImage::bits_per_pixel.
1525         (_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.
1526
1527         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
1528         _gdk_windowing_get_bits_for_depth() to initialize
1529         BITMAPINFOHEADER::biBitCount.
1530
1531         * gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
1532         GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
1533         32.
1534
1535 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
1536
1537         * demos/gtk-demo/appwindow.c: (about_cb):
1538           use PACKAGE_VERSION,bump year (#318654)
1539
1540 2005-10-11  Matthias Clasen  <mclasen@redhat.com>
1541
1542         * gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
1543         toggle here with the matching on toggle if it immediately follows. 
1544         This is a common case, and handling it here prevents quadratic blowup 
1545         in cleanup_line() below.  (#317125)
1546
1547         * gtk/gtktextsegment.h: 
1548         * gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
1549         the character counts into this function instead of computing them
1550         again.
1551
1552 2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>
1553
1554         * gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
1555         code.
1556         * gtk/gtkfilechooserdefault.c
1557         (gtk_file_chooser_default_add_shortcut_folder): Return an error code
1558         when the shortcut already exists in the sidebar.  (#147521)
1559
1560 2005-10-09  Matthias Clasen  <mclasen@redhat.com>
1561
1562         * tests/testcombo.c: Demonstrate how to use custom widgets in
1563         a GtkComboBox.  
1564
1565 2005-10-07  Federico Mena Quintero  <federico@ximian.com>
1566
1567         Fixes bug #317999:
1568
1569         * tests/autotestfilechooser.c (test_reload_sequence): Ensure that
1570         the the result of gtk_file_chooser_get_folder() is NULL or
1571         non-NULL at the right times.  Log the tests.
1572         (test_button_folder_states): New test for the initial states of
1573         the current folder in GtkFileChooserButton.
1574         (main): Test that the number of warnings/errors/critical errors is
1575         zero.
1576
1577         * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
1578         Clarify the documentation on when this can return NULL.
1579         (gtk_file_chooser_get_current_folder_uri): Likewise.
1580
1581         * gtk/gtkfilechooserbutton.c (struct
1582         _GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
1583         we use it to keep track of whether a folder has been set.
1584         (gtk_file_chooser_button_map):  Implement.  If no folder has been
1585         loaded before, we at least try to load $cwd here.
1586         (gtk_file_chooser_button_constructor): If the construct-time
1587         dialog already has a folder set, turn on our folder_has_been_set
1588         flag.
1589         (dialog_current_folder_changed_cb): Turn on our
1590         folder_has_been_set flag.
1591
1592 2005-10-07  Michael Natterer  <mitch@gimp.org>
1593
1594         * gtk/gtkfilechooserdefault.c: remove some explicit #defines of
1595         PROFILE_FILE_CHOOSER because they break compilation after the
1596         removal of <unistd.h>.
1597
1598 2005-10-07   Matthias Clasen  <mclasen@redhat.com>
1599
1600         * gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
1601         by moving it out of the profiling ifdef.
1602
1603         * gtk/gtkfilechooserdefault.c: Remove a redundant (and
1604         unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)
1605
1606         * gtk/gtktexttag.c (gtk_text_attributes_ref): Use
1607         g_return_val_if_fail(), not g_return_if_fail().  (#318412,
1608         Kazuki Iwamoto)
1609
1610 2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
1611                 
1612         * gtk/gtk.symbols:
1613         * gtk/gtktextbuffer.h:
1614         * gtk/gtktextbuffer.c: Add a readonly has-selection property
1615         with a getter.  (#318161, Paolo Borelli)
1616
1617 2005-10-05  Matthias Clasen  <mclasen@redhat.com>
1618
1619         * README.in: Start collecting release notes for 2.10.
1620
1621         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
1622         leak fix, since the assertion failures were traced to 
1623         an xchat bug.  (#314696)
1624         
1625         * gtk/gtkstyle.c (gtk_style_detach):
1626         (gtk_style_attach):  Documentation improvements.
1627         (gtk_style_detach): Assert that the attach_count is > 0.
1628
1629 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
1630
1631         * gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
1632         shortcut position, not a ShortcutsIndex, to make the function more
1633         generic.
1634         (home_folder_handler): Pass the resolved index to
1635         switch_to_shortcut(), rather than just SHORTCUTS_HOME.
1636         (desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
1637         (gtk_file_chooser_default_class_init): Add a "quick-bookmark"
1638         binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
1639         make the respective key switch to the first, second, ..., tenth
1640         bookmark.
1641         (quick_bookmark_handler): Implement.
1642
1643 2005-10-04  Federico Mena Quintero  <federico@ximian.com>
1644
1645         * gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
1646         Desktop; just use their real names on the file system for the
1647         user-visible names.
1648
1649         * gtk/gtkfilechooserdefault.c
1650         (gtk_file_chooser_default_class_init): Add a "desktop-folder"
1651         binding signal, and bind it to M-d by default.
1652         (desktop_folder_handler): Implement the default handler.
1653         (home_folder_handler): Use a helper function.
1654         (switch_to_shortcut): New helper function.
1655         (shortcuts_append_home): Don't special-case the name of "Home";
1656         just use the folder name.
1657
1658 2005-10-04  Tor Lillqvist  <tml@novell.com>
1659
1660         * gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
1661         HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
1662
1663 2005-10-04  Matthias Clasen  <mclasen@redhat.com>
1664
1665         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
1666         from yesterday, since it leads to assertion failures.  (#317879,
1667         Sebastian Bacher)
1668
1669 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
1670
1671         * gtk/gtkcalendar.c (gtk_calendar_init): Call 
1672         calendar_compute_days() after setting priv->week_start.
1673
1674 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
1675
1676         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
1677         removing it from the hash table.  (#314696, Benjamin Berg)
1678
1679 2005-10-01  Tor Lillqvist  <tml@novell.com>
1680
1681         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
1682         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
1683         is that the the desktop isn't visible because the session has been
1684         switched, the screen is locked, or a terminal server session
1685         disconnected, so no error message necessary. (#137796)
1686
1687         It is of course remotely possible that BitBlt() failing with
1688         ERROR_INVALID_HANDLE might also be caused by some other
1689         problem. We could strive for perfection and track whether the
1690         desktop is visible by using WTSRegisterSessionNotification() and
1691         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
1692         this issue, though. If we would track desktop visibility, we
1693         should then avoid even trying to update the display at all while
1694         the desktop isn't visible.
1695
1696 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
1697
1698         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
1699         to correct the calculations for the first week day. We may
1700         just have to remove this code if too many locales turn out 
1701         to have broken data. 
1702
1703         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
1704         some cases.  (#317611, Tommi Komulainen)
1705
1706         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
1707         Prevent overflow when storing size hints in an unsigned
1708         short variable. Tracked down by Ray Strode and Søren Sandmann.
1709
1710 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
1711
1712         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
1713         Paolo Borelli)
1714
1715         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
1716         grab shadowed.  (#317332)
1717
1718 2005-09-29  Tor Lillqvist  <tml@novell.com>
1719
1720         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
1721
1722 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
1723
1724         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
1725         if the unmap test fails.
1726         (test_reload_sequence): Use gtk_widget_show_now() instead of
1727         gtk_widget_show() for the dialog.
1728         Thanks to Tim Janik for noticing these.
1729
1730 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
1731
1732         * tests/testcellrenderertext.c: New file with a set of tests for
1733         GtkCellRendererText.  The idea is to run a text renderer through
1734         most of its interesting property values to see that it works
1735         correctly.
1736
1737         * tests/Makefile.am: Added testcellrenderertext.
1738
1739         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
1740         entry/exit of this function for profiling.
1741         (gtk_file_chooser_default_style_set): Mark the start/end of the
1742         calls to the parent class and the the signal emission for profiling.
1743
1744 2005-09-29  Tor Lillqvist  <tml@novell.com>
1745
1746         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
1747         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
1748         system codepage using g_win32_locale_filename_from_utf8().
1749         (#317457, Kazuki Iwamoto)
1750
1751 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
1752
1753         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
1754         here. (#317039, Paolo Borelli)
1755
1756         * gtk/gtktexttag.h: 
1757         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
1758         to make this function work as boxed copy function.  (#317455,
1759         Gustavo Carneiro)
1760
1761         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
1762         NULL.  (#316828, Tor Lillqvist)
1763
1764 2005-09-28  Tor Lillqvist  <tml@novell.com>
1765
1766         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
1767         Iwamoto)
1768
1769 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1770
1771         Don't reload the current folder unnecessarily on ::map().
1772
1773         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
1774         the reloading state.
1775         (struct _GtkFileChooserDefault): Added a "reload_state" field.
1776
1777         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
1778         Initialize impl->reload_state.
1779         (gtk_file_chooser_default_map): Check the impl->reload_state; load
1780         a default folder if no folder has been set, or reload the current
1781         one only if we had been unmapped first.
1782         (gtk_file_chooser_default_update_current_folder): Set the
1783         reload_state to RELOAD_HAS_FOLDER.
1784         (gtk_file_chooser_default_unmap): Implement, and set the
1785         reload_state to RELOAD_WAS_UNMAPPED.
1786         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
1787         here; they'll get (re)loaded on ::map() anyway.
1788
1789         * gtk/gtkfilechooserwidget.c
1790         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
1791
1792         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
1793         a dialog; build it ourselves.
1794         (test_reload): New test to ensure that we don't load the default
1795         folder more than once, and that we reload it when
1796         unmapping/remapping.
1797         (get_impl_from_dialog): New utility function.
1798         (test_widgets_for_current_action): Use get_impl_from_dialog().
1799
1800 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
1801
1802         * gtk/gtkfilechooserdefault.c
1803         (gtk_file_chooser_default_constructor): Mark the entry/exit of
1804         this function for profiling.
1805         (check_icon_theme): Likewise.
1806         (change_icon_theme): Likewise.
1807         (settings_notify_cb): Likewise.
1808         (gtk_file_chooser_default_screen_changed): Likewise.
1809         (update_chooser_entry): If the selection is empty, clear the file
1810         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
1811         nothing will be selected when the user starts typeahead in the
1812         treeview, and we don't want to clear the file name entry in that
1813         case --- the user could be typing-ahead to look for a folder name.
1814         Fixes bug #308332, patch by Jürg Billeter.
1815
1816 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
1817
1818         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
1819         Pop below the entry if there's more free space below the entry
1820         than above.  (#316948, Tommi Komulainen)
1821
1822 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
1823
1824         Do not create the save mode-specific widgets in the open modes, so
1825         that we don't carry their baggage around.
1826
1827         * gtk/gtkfilechooserdefault.c
1828         (gtk_file_chooser_default_constructor): Don't create the
1829         save_widgets here.
1830         (save_widgets_create): Set the impl->save_widgets directly here,
1831         instead of passing the widgets back to the caller.  Also, pack
1832         them into the impl's box.
1833         (update_appearance): Create or destroy the save widgets as
1834         appropriate.  Set the action of the save_file_name_entry here.
1835         (shortcuts_add_current_folder): Set the active item in the
1836         save_folder_combo only if it exists.
1837         (gtk_file_chooser_default_set_property): Don't set the action of
1838         the save_file_name_entry here.
1839         (gtk_file_chooser_default_update_current_folder): Set the base
1840         folder of the save_file_name_entry only if the entry exists.
1841         (shortcuts_drag_data_received_cb): Cast the selection_data->data
1842         to (const char *) since that's what shortcuts_drop_uris() expects.
1843         (file_list_drag_data_received_cb): Likewise, for
1844         g_uri_list_extract_uris().
1845
1846 2005-09-26  Tor Lillqvist  <tml@novell.com>
1847
1848         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
1849         the shaped flag here, too. (#316871)
1850         (gdk_window_shape_combine_region): Currently unimplemented, so
1851         don't do anything to the shaped flag here.
1852
1853 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
1854
1855         Fix #316871, reported by Dan Winship:
1856         
1857         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
1858
1859         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
1860         (gdk_window_shape_combine_region): Set it here.
1861
1862         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
1863         remove the child area for shaped windows.
1864
1865 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
1866
1867         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
1868         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
1869
1870 2005-09-22  Michael Natterer  <mitch@imendio.com>
1871
1872         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
1873         consistent with GTK+ terminology:
1874
1875         * gtk/gtkcellrendererkeys.[ch]
1876         * tests/testkeys.c: removed...
1877
1878         * gtk/gtkcellrendereraccel.[ch]
1879         * tests/testaccel.c: ...and added.
1880
1881         * gtk/Makefile.am
1882         * gtk/gtk.h
1883         * gtk/gtk.symbols
1884         * tests/Makefile.am: changed accordingly.
1885
1886 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
1887
1888         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
1889         for the grab-broken-event signal, noticed by Damon Chaplin.
1890
1891 2005-09-21  Tor Lillqvist  <tml@novell.com>
1892
1893         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
1894         gdk_text_property_to_text_list_for_display,
1895         gdk_text_property_to_utf8_list_for_display,
1896         gdk_win32_selection_add_targets,
1897         _gdk_win32_selection_convert_to_dib): Free return value from
1898         gdk_atom_name().
1899         (gdk_text_property_to_text_list_for_display): Drop GError variable
1900         that isn't actually used after being set.
1901
1902 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
1903
1904         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
1905         documentation.
1906
1907 2005-09-20  Tor Lillqvist  <tml@novell.com>
1908
1909         * gdk/win32/gdkselection-win32.c
1910         (gdk_selection_owner_get_for_display): Do return the correct owner
1911         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
1912         a window GDK knows about). The reason to return NULL seems to have
1913         gone when in the fix for bug #163702 the artificial
1914         GDK_SELECTION_CLEAR event generation was removed from
1915         gdk_selection_send_notify_for_display(). Fixes bug #316552.
1916
1917 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
1918
1919         Avoid unnecessary XkbGetState() calls and XkbStateNotify
1920         events.  (#151555, Søren Sandmann)
1921
1922         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
1923         XkbSelectEventDetails() to select XkbStateNotify events
1924         for only the state we care about.
1925
1926         * gdk/x11/gdkprivate-x11.h:
1927         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
1928         the event into the function and update the keymap state from
1929         the state information contained in the event. Adjust all callers.
1930         
1931 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
1932
1933         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
1934         in multiple places to avoid segfaults if the index is out of range.  
1935         (#316422, Guillaume Cottenceau)
1936         (gtk_icon_view_set_drag_dest_item): 
1937         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
1938         #316424, Guillaume Cottenceau)
1939
1940 2005-09-18  Hans Breuer  <hans@breuer.org>
1941
1942         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
1943         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
1944
1945 2005-09-18  Hans Breuer  <hans@breuer.org>
1946
1947         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
1948         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
1949         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
1950         the icon and is blinking with teststatusicon. More to come ...
1951
1952 2005-09-18  Hans Breuer  <hans@breuer.org>
1953
1954         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
1955         cause gtkprogressbar.c has #include <config.h> conditionally; less
1956         noise from generated gtk.def
1957         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
1958         
1959         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
1960         For me it works as well as the *NIX implemenation, that is not at all.
1961
1962         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
1963
1964         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
1965         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
1966         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
1967         again - if compiled properly.
1968
1969         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
1970         already coming with Gtk+. Makes it compile on win32.
1971
1972 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
1973
1974         * README.cvs-commits: fixed some tiny typos
1975
1976 2005-09-16  Tor Lillqvist  <tml@novell.com>
1977
1978         * modules/engines/ms-windows/msw_style.c (draw_extension,
1979         draw_box_gap): Check whether the widget actually is a GtkNotebook
1980         before treating it as such. Drop some unneeded local variables,
1981         use parameter with same information instead. (#316412)
1982
1983 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
1984
1985         * tests/autotestfilechooser.c: Start a set of automated tests for
1986         the file chooser.  The only test in there right now doesn't pass
1987         yet.  It specifies the intended behavior of the first optimization
1988         of a series which I'll do on the file chooser (see
1989         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
1990         details of this optimization).
1991
1992         * tests/Makefile.am: Added autotestfilechooser.c.
1993
1994         * gtk/gtkfilechooserprivate.h (struct
1995         _GtkFileChooserDialogPrivate): Move all the file chooser's private
1996         structures to here, so that they can be accessed by
1997         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
1998         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
1999
2000         * gtk/gtkfilechooserdialog.c: See above.
2001
2002         * gtk/gtkfilechooserwidget.c: See above.
2003
2004         * gtk/gtkfilechooserdefault.c: See above.
2005
2006 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
2007
2008         * gtk/gtkwindow.c: 
2009         gtk_window_map_event(): new function to work around lost unmap requests.
2010         fixes bug #316180.
2011
2012 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
2013
2014         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
2015         an easy-to-find profiling marker when starting to create a file
2016         chooser.
2017         (browse_files_model_finished_loading_cb): Likewise, for when the
2018         chooser is finished loading.
2019
2020 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
2021
2022         * gtk/gtkcolorbutton.c: Check "color" argument in 
2023         gtk_color_button_set_color ()
2024
2025 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
2026
2027         * gtk/gtklabel.c (gtk_label_get_type): 
2028         * gtk/gtkbutton.c (gtk_button_get_type): 
2029         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
2030         using a mem chunk for window groups, buttons, labels.
2031
2032         * gtk/updateiconcache.c (foreach_remove_func): Fix
2033         a use-after-free bug.  (#316256, Alexander Nedotsukov)
2034
2035 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
2036
2037         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2038
2039         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
2040         
2041 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
2042
2043         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
2044         Let GDK_Return pass through in some more cases.
2045
2046         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
2047         activating the entry. 
2048
2049         * gtk/gtkiconview.c (gtk_icon_view_class_init):
2050         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
2051         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
2052
2053         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
2054         (#316001, Guillaume Cottenceau)
2055
2056         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
2057         mistake in the docs.  (#315993, Guillaume Cottenceau)
2058
2059         * tests/testentrycompletion.c (create_simple_completion_model): Add
2060         some strings containing multibyte characters.
2061
2062         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
2063         Fix prefix insertion for multibyte characters.  (#316095,
2064         Tommi Komulainen)
2065
2066         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
2067         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
2068         return NULL if the widget is not realized.  (#316023,
2069         Guillaume Cottenceau)
2070
2071 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
2072
2073         * gdk/gdk.symbols: 
2074         * gdk/gdkproperty.h: 
2075         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
2076         New function to avoid pointless strdups when creating atoms
2077         from static strings.  
2078
2079         * gdk/x11/*.c:
2080         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
2081         appropriate.
2082
2083 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2084
2085         * gtk/gtkcellrendererkeys.h: 
2086         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
2087         and editing accelerators, a port of EggCellRendererKeys .
2088
2089         * gtk/gtk.symbols:
2090         * gtk/gtk.h:
2091         * gtk/Makefile.am: Add the keys cell renderer.
2092
2093         * tests/Makefile.am: 
2094         * tests/testkeys.c: Test GtkCellRendererKeys
2095
2096 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2097
2098         Make it possible to determine if a key event is for a
2099         modifier key:
2100         
2101         * gdk/x11/gdkprivate-x11.h: 
2102         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
2103         New function to determine if a keycode is mapped to a modifier.
2104         (get_xkb): Get the modmap.
2105
2106         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
2107         is_modifier bit by calling _gdk_keymap_key_is_modifier().
2108
2109         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
2110         bit.
2111
2112 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2113
2114         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
2115         unused variable, noticed by Kjartan Maraas.
2116
2117 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2118
2119         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
2120         Make drag reordering work properly for columns other than the
2121         first.  (#315054, Dan Winship)
2122         
2123         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
2124         invalid fontnames better. (#136926, Michael R. Walton)
2125         
2126         Stop cursor blinking in non-editable regions of a text view.
2127         (#311508, Torbjörn Andersson)
2128         
2129         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
2130         (cursor_blinks): Take editability into account when deciding
2131         whether the cursor blinks.
2132         (gtk_text_view_button_release_event): 
2133         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
2134
2135         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
2136         Use connect_after to connect to the focus_out event. This
2137         ensures that the entry has already stopped blinking by the time
2138         we emit the edited signal.  (#315229, Thomas Leonard)
2139
2140         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
2141
2142         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
2143         unsigned ints to -1.  (#315481, Kjartan Maraas)
2144
2145         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
2146         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
2147         (#314473, Stanislav Brabec)
2148
2149 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
2150
2151         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
2152         memory handling.  (#314975, Torsten Schoenfeld)
2153
2154         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
2155         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
2156         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
2157         * gtk/gtklabel.c (gtk_label_class_init): 
2158         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
2159         Stylistic improvements and clarifications for some blurbs. 
2160         (#315520, Clytie Siddall)
2161
2162 2005-09-09  Tor Lillqvist  <tml@novell.com>
2163
2164         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
2165         display name. There is only one GdkDisplay on Win32, and
2166         constructing the display name isn't entirely trivial, so cacheing
2167         is probably worth it. For instance GIMP calls this function a lot.
2168         (gdk_display_open): Call gdk_display_get_name() to prime the
2169         cached name.
2170         (gdk_display_get_n_screens, gdk_display_get_screen,
2171         gdk_display_get_default_screen): Verify parameter correctness like
2172         the X11 backend does.
2173
2174         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
2175         Return a freshly allocated string, as the API specifies. Fixes a
2176         heap corruption problem that caused random errors and crashes in
2177         GIMP, for instance.
2178
2179 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
2180
2181         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
2182         Make C-u commit and restart hex input if we are already in a
2183         hex sequence.
2184
2185 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
2186
2187         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
2188         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
2189         if they are mapped to the same modifier.
2190
2191         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
2192         to gtkstatusicon.c and gtktrayicon-x11.c
2193
2194         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
2195         default accel mod mask.
2196
2197         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
2198         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
2199         Don't use GDK_ALT_MASK.
2200
2201         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
2202
2203 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
2204
2205         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
2206         
2207         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
2208         modifiers.
2209
2210         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
2211         Mod2 - Mod5 and against Super, Hyper, Meta.
2212
2213         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
2214         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
2215         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
2216
2217         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
2218         modmap to maintain the information which X modifiers map to
2219         virtual modifiers.
2220         (get_xkb): Set up the modmap from the XKB tables.
2221         (update_keymaps): Set up the modmap from the information returned
2222         by XGetModifierMapping in the non-XKB case.
2223
2224         * gdk/x11/gdkprivate-x11.h: 
2225         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
2226         function to set the virtual modifiers in the state.
2227
2228         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
2229         _gdk_keymap_add_virtual_modifiers here.
2230
2231         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
2232         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
2233         for GDK_MOD1_MASK.
2234
2235 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
2236
2237         * gtk/gtkaction.c (connect_proxy): Set the label of a button
2238         if it has no child.  (#315253, John Finlay)
2239
2240 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2241
2242         * gtkimcontextsimple.h: Add a modifiers_dropped bit
2243
2244 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2245
2246         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
2247         on destroy to avoid problems when they are called on a destroyed
2248         widget.  (#315135, John Cupitt)
2249         
2250         * gtk/gtkentry.c (gtk_entry_class_init):
2251         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
2252         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
2253
2254         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
2255         code. Now we only steal a single key combination, Ctrl-Shift-U,
2256         instead of sixteen. 
2257         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
2258         by a sequence of hex digits entered with Ctrl-Shift still held.
2259         Releasing one of the modifiers or pressing space while the modifiers
2260         are still held commits the character. It is possible to erase
2261         digits using backspace.
2262         As an extension to the above, we also allow to start the sequence
2263         with Ctrl-Shift-U, then release the modifiers before typing any
2264         digits, and enter the digits without modifiers.
2265         (#82011, Owen Taylor)
2266         
2267 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
2268
2269         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
2270         we still need to deliver the destroy event.  (#314980, Chris Lahey)
2271
2272         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
2273         im context before committing \n or \t.
2274
2275 2005-09-02  Alexander Larsson  <alexl@redhat.com>
2276
2277         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
2278         (shortcuts_activate_volume):
2279         Handle base_path being null in the rest of the cases (#310270)
2280
2281 2005-09-02  Tor Lillqvist  <tml@novell.com>
2282
2283         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
2284         cursor position also in root window coordinates. Prune out
2285         superfluous WM_MOUSEMOVE events even earlier, based on root window
2286         coordinates. Windows sends WM_MOUSEMOVE messages after a new
2287         window has ben mapped below the cursor even if the mouse doesn't
2288         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
2289         confused at least gtk_menu_motion_notify(). (#314995)
2290
2291         * gtk/gtkintl.h: No need to include config.h here. It caused
2292         warnings about GTK_LOCALEDIR being redefined on Win32 when
2293         compiling files where gtkintl.h is included after gtkprivate.h
2294         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
2295
2296         * gtk/gtkplug.c: Include config.h.
2297
2298 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
2299
2300         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
2301         xdg_mime_get_mime_type_for_file() where possible, to avoid
2302         useless re-stating.  
2303         
2304         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
2305         typo.  (#314921, Guillaume Cottenceau)
2306
2307         * gdk/*.c: Intern some more strings.
2308         * gtk/gtkintl.h: 
2309         * gtk/*.c: Define an I_() macro and use it instead of the 
2310         bulky g_intern_static_string().
2311
2312 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
2313
2314         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
2315         instead of copying it.
2316
2317         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
2318
2319         * gtk/*.c: Also intern static strings passed to 
2320         g_object_set_data().
2321
2322         * gdk/Makefile.am: 
2323         * gtk/Makefile.am: Intern type names in code generated by 
2324         glib-mkenums, too.
2325
2326         * gtk/*.c: 
2327         * gdk/x11/*.c: 
2328         * gdk/*.c: Intern type names before registering the type to avoid 
2329         unnecessary copies.
2330
2331         * configure.in: Require GLib 2.9.0
2332
2333 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
2334
2335         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
2336         and add icon-size and icon-size-set properties.  (#314172)      
2337
2338         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
2339         groups across transient parents.  (#312918, Christian Persch)
2340
2341         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
2342         Guillaume Cottenceau)
2343
2344         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
2345         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
2346
2347 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
2348
2349         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
2350         make C-/ select all and C-\ unselect all.  (#309301,
2351         Kathy Fernandez)
2352
2353         * gtk/gtkimcontextsimple.c: Change the compose sequence for
2354         soft hyphen to be multi_key-minus-minus-space, and add
2355         compose sequences multi_key-minus-minus-period and 
2356         multi_key-minus-minus-minus for en dash and em dash.
2357         (#172653, Christian Lohmaier)
2358
2359         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
2360         code.  (#313946, Christian Persch)
2361
2362         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
2363         fix for the default value of the "ui" property.
2364
2365 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
2366
2367         * gtk/gtk.symbols: 
2368         * gtk/gtkselection.h:
2369         * gtk/gtkselection.c: Add functions which look for text, image
2370         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
2371
2372         * gtk/gtk.symbols: 
2373         * gtk/gtkselection.h:
2374         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
2375         Add a function to check wether targets include uri.  
2376         (#314092, Mark Wielaard)
2377         
2378         * gtk/gtk.symbols: 
2379         * gtk/gtkwindow.h: 
2380         * gtk/gtkwindow.c: Add a deletable property with getter
2381         and setter, to control the close button in the window 
2382         frame.  (#59718, Havoc Pennington)
2383
2384 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2385
2386         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
2387         to the arrow keys for menu navigation.  (#162825, Carl Worth)
2388
2389         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
2390
2391         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
2392
2393         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
2394         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
2395         refer to nonexisting stock ids.
2396
2397         * gtk/gtktextview.c (popup_targets_received): 
2398         * gtk/gtkentry.c (popup_targets_received): Construct
2399         the "Select All" menuitem from stock.
2400
2401         * gtk/stock-icons/stock_select_all_{16,24}.png:
2402         * gtk/stock-icons/Makefile.am: 
2403         * gtk/gtkiconfactory.c:
2404         * gtk/gtkstock.h: 
2405         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
2406         Calum Benson)
2407
2408         * gtk/gtktrayicon.c: Add a pointer to the spec.
2409
2410         * gtk/gtkstatusicon-x11.c: Add docs.
2411
2412         * gtk/gtkstatusicon.h: Fix a typo.
2413
2414         Add a cross-platform "tray icon" API, by
2415         porting EggStatusIcon/EggTrayIcon (#105101)
2416         
2417         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
2418         displays an icon in a notification area.
2419
2420         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
2421         X11, using GtkTrayIcon.
2422
2423         * gtk/gtktrayicon.h: 
2424         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
2425         system tray specification, not public API.
2426
2427         * gtk/gtk.symbols: Add new exported functions.
2428
2429         * gtk/gtk.h: Include gtkstatusicon.h.
2430
2431         * gtk/Makefile.am: Add new files.
2432
2433         * tests/Makefile.am:
2434         * tests/teststatusicon.c: Test for GtkStatusIcon.
2435
2436 2005-08-29  Christopher Aillon  <caillon@redhat.com>
2437
2438         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
2439         and GTK_STOCK_DISCONNECT
2440         
2441 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2442
2443         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
2444         Use XFixesChangeSaveSet if available.  (#314682)
2445
2446         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
2447         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
2448
2449 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
2450
2451         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
2452         accidentally leftover duplicate pixbuf creation.  (#314700,
2453         Kjartan Maraas)
2454
2455         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
2456         leak the cursor theme name.  (#314693, Kjartan Maraas)
2457
2458         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
2459         state.children in all cases.  (#313862, Kjartan Maraas)
2460
2461 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
2462
2463         * po/POTFILES.in, po-properties/POTFILES.in:
2464         Add gdk/gdkscreen.c
2465
2466 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
2467
2468         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
2469         value of the ui property. (#314532, Yong Wang)
2470
2471         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
2472         when G_MAXLONG is passed as length.  
2473
2474 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2475
2476         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
2477         to avoid overloading --force.  (JP Rosevaar)
2478
2479 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2480
2481         * configure.in: Bump version to 2.9.0
2482
2483         * gdk/gdk.symbols: 
2484         * gdk/gdkscreen.h: 
2485         * gdk/gdkscreen.c: Make the GdkScreen font options api
2486         public, and add properties GdkScreen::font-options and
2487         GdkScreen::resolution.  (#314004)
2488
2489         * gdk/gdkpango.c:
2490         * gtk/gtksettings.c:
2491         * gtk/gtkwidget.c: Adjust all callers.
2492         
2493         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
2494         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
2495         * gdk/gdkscreen.c: Include gdkintl.h.
2496
2497         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
2498         variable warning, pointed out by Colin Walters. (#314585)
2499
2500 2005-08-26  Tor Lillqvist  <tml@novell.com>
2501
2502         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
2503         printouts.
2504         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
2505
2506 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
2507
2508         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
2509         of week_start.  (#314473, JP Rosevaar)
2510
2511 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
2512
2513         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
2514         lock.  (#314533, Thomas Fitzsimmons)
2515
2516 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
2517
2518         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
2519         NULL gracefully.  (#314523, Ed Catmur)
2520
2521 2005-08-25  Owen Taylor  <otaylor@redhat.com>
2522
2523         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
2524         Handle theme == NULL.
2525
2526 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
2527
2528         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
2529         y offset into account when positioning the popup.  (#314470,
2530         Christian Persch)
2531
2532 2005-08-25  Owen Taylor  <otaylor@redhat.com>
2533
2534         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
2535         as instance_init, not base_init! (#314452, Fix from Frederic
2536         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
2537         rather than 1 for a negative flag value.
2538
2539 2005-08-24  Owen Taylor  <otaylor@redhat.com>
2540
2541         * gdk/gdkpango.c (draw_error_underline): Add a note about
2542         cut-and-paste between here and Pango.
2543
2544 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2545
2546         * === Released 2.8.2 ===
2547
2548         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
2549         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
2550         Wielaard)
2551
2552         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
2553         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
2554         Sebastien Bacher)
2555         
2556         * NEWS: Updates
2557
2558         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
2559         and cursor settings get propagated down to the screen initially.
2560         Pointed out by Frederic Crozat.
2561
2562         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
2563         message if the screen is NULL. Noticed by Kjartan Maraas.
2564
2565 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2566
2567         * Bump version
2568
2569         * === Released 2.8.1 ===
2570
2571         * NEWS: Updates
2572         
2573 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
2574
2575         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
2576         against lazy filterers which return values other than TRUE or
2577         FALSE from their visible func.  (#314335)
2578
2579 2005-08-23  Owen Taylor  <otaylor@redhat.com>
2580
2581         Fix for #314004, reported by Michael Reinsch:
2582
2583         * gdk/gdk.symbols:
2584         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
2585         Add gdk_screen_get/set_resolution_libgtk_only()
2586
2587         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
2588         the options for the screen on the newly created context.
2589
2590         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
2591         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
2592         the font options on the screen.
2593
2594         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
2595         the font options from the screen and set them on the context.
2596
2597 2005-08-23  Kristian Rietveld  <kris@gtk.org>
2598
2599         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
2600         bother inserting new rows in a level with a zero refcount and
2601         immediately free the level. (Fixes #312350, reported by Markku Vire).
2602
2603 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
2604
2605         * gtk/updateiconcache.c: Complain when there is no index.theme file
2606         in the specified directory, unless --force is used. Also add an
2607         --index-only option to create caches without image data.
2608
2609         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
2610         C99ism.  (#314262, Robert Jeff Mitchell)
2611         
2612 2005-08-22  Manish Singh  <yosh@gimp.org>
2613
2614         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
2615
2616         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
2617
2618 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
2619
2620         * gtk/gtkwindow.c (gtk_window_client_event): 
2621         * gtk/gtkicontheme.c (ensure_valid_themes) 
2622         (_gtk_icon_theme_check_reload): Implement a clientmessage based
2623         scheme for makeing sure that all GTK+ applications notice if an
2624         icon theme has been updated. This should prevent multiple versions
2625         of an icon theme cache to be mapped in memory at the same time,
2626         which can cause excessive memory consumption.  (#313156, Chris 
2627         Lahey)
2628
2629 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
2630
2631         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
2632         regarding icon theme changes.
2633
2634         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
2635         pixbufs which are backed by the mmapped memory of an icon cache,
2636         increase the refcount of the icon cache, so that the memory is not
2637         munmapped away underneath the pixbuf upon icon theme changes.  
2638         (#314170, Kjartan Maraas)
2639
2640         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
2641         to link against Xext.  (#314062)
2642
2643         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
2644         overruns.  (#314081, Hans Breuer)
2645
2646 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
2647
2648         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
2649         returned layout must not be modified.
2650
2651 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
2652
2653         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
2654         scroll_to_path if the model changes.
2655
2656         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
2657         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
2658         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
2659         we're realized, #312798
2660         (gtk_icon_view_set_model): clear scroll_to_path if the model
2661         changes.
2662
2663 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
2664
2665         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
2666         (gtk_range_adjustment_value_changed):  Don't queue a draw
2667         if the layout has not changed.  (#313991, Benjamin Berg)
2668
2669 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
2670
2671         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
2672         Benoit Carpentier)
2673
2674         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
2675         Fix a typo. 
2676
2677         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
2678         (model_add_special, model_add_special, model_add_volumes):
2679         Handle pixbuf being NULL without warnings. Also, don't
2680         leak pixbuf references when the icon theme is changed.
2681
2682         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
2683         the user data on destroyed windows, since at best
2684         it can be a stale pointer.  (#313953, Robin Green)      
2685
2686 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
2687
2688         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
2689         (#313900, Sebastien Bacher)
2690
2691         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
2692         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
2693
2694         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
2695         (xdnd_read_actions, get_client_window_at_coords_recurse): 
2696         Free data returned from XGetWindowProperty. 
2697
2698         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
2699         Free data returned from XGetWindowProperty.  (313867, Kjartan
2700         Maraas)
2701         
2702         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
2703         children in all cases.  (#313862, Kjartan Maraas)
2704
2705         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
2706         in the per-directory hash, even if they come from the icon cache. 
2707         We tried to avoid that before, but as a result leaked icon data
2708         structs.  (#313852, Kjartan Maraas)
2709
2710 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
2711
2712         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
2713         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
2714
2715 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2716
2717         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
2718         files for x11/xext. (Jonas Bonn)
2719
2720 2005-08-15  Tor Lillqvist  <tml@novell.com>
2721
2722         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
2723         inside GTK_NOTE.
2724
2725 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2726
2727         * configure.in: Fix have_base_pc / have_base_x_pc typo.
2728
2729         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
2730         (#313417, James Andrewartha)
2731
2732         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
2733         FcNameConstant(). (More of #313417)
2734
2735 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
2736
2737         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
2738         modal dialogs, make sure to inherit the window group from 
2739         the parent, since we don't inherit window groups across
2740         transient parents currently.  (#312918, Christian Persch)
2741
2742         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
2743         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
2744
2745         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
2746         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
2747         gracefully.  (#312796, Jonathan Blandford)
2748
2749         * tests/testtoolbar.c: Add some more tests for menu placement.
2750
2751         * gtk/gtkmenutoolbutton.c (menu_position_func): 
2752         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
2753         of toolbutton menus and of the overflow menu.  (#312937, 
2754         #153870, Christian Persch, Paolo Borelli)
2755
2756 2005-08-15  Tor Lillqvist  <tml@novell.com>
2757
2758         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
2759         the nonportable <libgen.h> and dirname().
2760
2761 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
2762
2763         * gtk/gtksizegroup.c: Use object data to mark widgets and
2764         groups as visited, so that we avoid constant extra list
2765         traversals. Also allocate quarks in class_init.  (#311618,
2766         Michael Natterer)
2767
2768         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
2769         download location for the hicolor icon theme. (#313475, Olexiy 
2770         Avramchenko)
2771
2772         * gtk/gtkicontheme.c: Remove debug spew. 
2773
2774 2005-08-15  Owen Taylor  <otaylor@redhat.com>
2775
2776         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
2777         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
2778         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
2779         Handle pixmap == NULL when checking for a colormap.
2780         (Allin Cottrell).
2781
2782 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
2783
2784         * gtk/updateiconcache.c: Store only one copy of the pixel data
2785         for symlinked icons. To achieve this, maintain a hashtable 
2786         mapping pathnames to pixel data, and share the pixel data for
2787         all symlinks resolving to the same pathname. When writing out
2788         the image data, write out the pixel data only the first time
2789         it is met, and store the offset pointing to the first copy
2790         for use in all later cases.
2791         This reduces the size of the Bluecurve icon cache from 40
2792         to 13MB. (#312972)
2793