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