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