]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Unref the style when removing it from the hash table. (#314696, Benjamin
[~andy/gtk] / ChangeLog.pre-2-10
1 2005-10-03  Matthias Clasen  <mclasen@redhat.com>
2
3         * gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
4         removing it from the hash table.  (#314696, Benjamin Berg)
5
6 2005-10-01  Tor Lillqvist  <tml@novell.com>
7
8         * gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
9         BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
10         is that the the desktop isn't visible because the session has been
11         switched, the screen is locked, or a terminal server session
12         disconnected, so no error message necessary. (#137796)
13
14         It is of course remotely possible that BitBlt() failing with
15         ERROR_INVALID_HANDLE might also be caused by some other
16         problem. We could strive for perfection and track whether the
17         desktop is visible by using WTSRegisterSessionNotification() and
18         handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
19         this issue, though. If we would track desktop visibility, we
20         should then avoid even trying to update the display at all while
21         the desktop isn't visible.
22
23 2005-09-30  Matthias Clasen  <mclasen@redhat.com>
24
25         * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
26         to correct the calculations for the first week day. We may
27         just have to remove this code if too many locales turn out 
28         to have broken data. 
29
30         * gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
31         some cases.  (#317611, Tommi Komulainen)
32
33         * gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
34         Prevent overflow when storing size hints in an unsigned
35         short variable. Tracked down by Ray Strode and Søren Sandmann.
36
37 2005-09-29  Matthias Clasen  <mclasen@redhat.com>
38
39         * gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
40         Paolo Borelli)
41
42         * gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
43         grab shadowed.  (#317332)
44
45 2005-09-29  Tor Lillqvist  <tml@novell.com>
46
47         * gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.
48
49 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
50
51         * tests/autotestfilechooser.c (test_reload_sequence): Oops, return
52         if the unmap test fails.
53         (test_reload_sequence): Use gtk_widget_show_now() instead of
54         gtk_widget_show() for the dialog.
55         Thanks to Tim Janik for noticing these.
56
57 2005-09-28  Federico Mena Quintero  <federico@ximian.com>
58
59         * tests/testcellrenderertext.c: New file with a set of tests for
60         GtkCellRendererText.  The idea is to run a text renderer through
61         most of its interesting property values to see that it works
62         correctly.
63
64         * tests/Makefile.am: Added testcellrenderertext.
65
66         * gtk/gtkfilechooserdefault.c (load_set_model): Mark the
67         entry/exit of this function for profiling.
68         (gtk_file_chooser_default_style_set): Mark the start/end of the
69         calls to the parent class and the the signal emission for profiling.
70
71 2005-09-29  Tor Lillqvist  <tml@novell.com>
72
73         * gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
74         passed to bindtextdomain() which isn't UTF-8-aware, so convert to
75         system codepage using g_win32_locale_filename_from_utf8().
76         (#317457, Kazuki Iwamoto)
77
78 2005-09-28  Matthias Clasen  <mclasen@redhat.com>
79
80         * gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
81         here. (#317039, Paolo Borelli)
82
83         * gtk/gtktexttag.h: 
84         * gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
85         to make this function work as boxed copy function.  (#317455,
86         Gustavo Carneiro)
87
88         * gtk/gtkclipboard.c (request_image_received_func): Don't unref
89         NULL.  (#316828, Tor Lillqvist)
90
91 2005-09-28  Tor Lillqvist  <tml@novell.com>
92
93         * modules/input/imime.c: Include <config.h>. (#317444, Kazuki
94         Iwamoto)
95
96 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
97
98         Don't reload the current folder unnecessarily on ::map().
99
100         * gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
101         the reloading state.
102         (struct _GtkFileChooserDefault): Added a "reload_state" field.
103
104         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
105         Initialize impl->reload_state.
106         (gtk_file_chooser_default_map): Check the impl->reload_state; load
107         a default folder if no folder has been set, or reload the current
108         one only if we had been unmapped first.
109         (gtk_file_chooser_default_update_current_folder): Set the
110         reload_state to RELOAD_HAS_FOLDER.
111         (gtk_file_chooser_default_unmap): Implement, and set the
112         reload_state to RELOAD_WAS_UNMAPPED.
113         (shortcuts_model_create): Don't call shortcuts_add_bookmarks()
114         here; they'll get (re)loaded on ::map() anyway.
115
116         * gtk/gtkfilechooserwidget.c
117         (gtk_file_chooser_widget_constructor): Don't set a default folder here.
118
119         * tests/autotestfilechooser.c (test_action_widgets): Don't take in
120         a dialog; build it ourselves.
121         (test_reload): New test to ensure that we don't load the default
122         folder more than once, and that we reload it when
123         unmapping/remapping.
124         (get_impl_from_dialog): New utility function.
125         (test_widgets_for_current_action): Use get_impl_from_dialog().
126
127 2005-09-27  Federico Mena Quintero  <federico@ximian.com>
128
129         * gtk/gtkfilechooserdefault.c
130         (gtk_file_chooser_default_constructor): Mark the entry/exit of
131         this function for profiling.
132         (check_icon_theme): Likewise.
133         (change_icon_theme): Likewise.
134         (settings_notify_cb): Likewise.
135         (gtk_file_chooser_default_screen_changed): Likewise.
136         (update_chooser_entry): If the selection is empty, clear the file
137         name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
138         nothing will be selected when the user starts typeahead in the
139         treeview, and we don't want to clear the file name entry in that
140         case --- the user could be typing-ahead to look for a folder name.
141         Fixes bug #308332, patch by Jürg Billeter.
142
143 2005-09-27  Matthias Clasen  <mclasen@redhat.com>
144
145         * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
146         Pop below the entry if there's more free space below the entry
147         than above.  (#316948, Tommi Komulainen)
148
149 2005-09-26  Federico Mena Quintero  <federico@ximian.com>
150
151         Do not create the save mode-specific widgets in the open modes, so
152         that we don't carry their baggage around.
153
154         * gtk/gtkfilechooserdefault.c
155         (gtk_file_chooser_default_constructor): Don't create the
156         save_widgets here.
157         (save_widgets_create): Set the impl->save_widgets directly here,
158         instead of passing the widgets back to the caller.  Also, pack
159         them into the impl's box.
160         (update_appearance): Create or destroy the save widgets as
161         appropriate.  Set the action of the save_file_name_entry here.
162         (shortcuts_add_current_folder): Set the active item in the
163         save_folder_combo only if it exists.
164         (gtk_file_chooser_default_set_property): Don't set the action of
165         the save_file_name_entry here.
166         (gtk_file_chooser_default_update_current_folder): Set the base
167         folder of the save_file_name_entry only if the entry exists.
168         (shortcuts_drag_data_received_cb): Cast the selection_data->data
169         to (const char *) since that's what shortcuts_drop_uris() expects.
170         (file_list_drag_data_received_cb): Likewise, for
171         g_uri_list_extract_uris().
172
173 2005-09-26  Tor Lillqvist  <tml@novell.com>
174
175         * gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
176         the shaped flag here, too. (#316871)
177         (gdk_window_shape_combine_region): Currently unimplemented, so
178         don't do anything to the shaped flag here.
179
180 2005-09-26  Matthias Clasen  <mclasen@redhat.com>
181
182         Fix #316871, reported by Dan Winship:
183         
184         * gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.
185
186         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
187         (gdk_window_shape_combine_region): Set it here.
188
189         * gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
190         remove the child area for shaped windows.
191
192 2005-09-23  Matthias Clasen  <mclasen@redhat.com>
193
194         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
195         Don't leak expander pixbufs.  (#316946, Tommi Komulainen)
196
197 2005-09-22  Michael Natterer  <mitch@imendio.com>
198
199         Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
200         consistent with GTK+ terminology:
201
202         * gtk/gtkcellrendererkeys.[ch]
203         * tests/testkeys.c: removed...
204
205         * gtk/gtkcellrendereraccel.[ch]
206         * tests/testaccel.c: ...and added.
207
208         * gtk/Makefile.am
209         * gtk/gtk.h
210         * gtk/gtk.symbols
211         * tests/Makefile.am: changed accordingly.
212
213 2005-09-22  Matthias Clasen  <mclasen@redhat.com>
214
215         * gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
216         for the grab-broken-event signal, noticed by Damon Chaplin.
217
218 2005-09-21  Tor Lillqvist  <tml@novell.com>
219
220         * gdk/win32/gdkselection-win32.c (gdk_selection_convert,
221         gdk_text_property_to_text_list_for_display,
222         gdk_text_property_to_utf8_list_for_display,
223         gdk_win32_selection_add_targets,
224         _gdk_win32_selection_convert_to_dib): Free return value from
225         gdk_atom_name().
226         (gdk_text_property_to_text_list_for_display): Drop GError variable
227         that isn't actually used after being set.
228
229 2005-09-20  Johan Dahlin  <jdahlin@async.com.br>
230
231         * gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
232         documentation.
233
234 2005-09-20  Tor Lillqvist  <tml@novell.com>
235
236         * gdk/win32/gdkselection-win32.c
237         (gdk_selection_owner_get_for_display): Do return the correct owner
238         for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
239         a window GDK knows about). The reason to return NULL seems to have
240         gone when in the fix for bug #163702 the artificial
241         GDK_SELECTION_CLEAR event generation was removed from
242         gdk_selection_send_notify_for_display(). Fixes bug #316552.
243
244 2005-09-20  Matthias Clasen  <mclasen@redhat.com>
245
246         Avoid unnecessary XkbGetState() calls and XkbStateNotify
247         events.  (#151555, Søren Sandmann)
248
249         * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
250         XkbSelectEventDetails() to select XkbStateNotify events
251         for only the state we care about.
252
253         * gdk/x11/gdkprivate-x11.h:
254         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
255         the event into the function and update the keymap state from
256         the state information contained in the event. Adjust all callers.
257         
258 2005-09-19  Matthias Clasen  <mclasen@redhat.com>
259
260         * gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
261         in multiple places to avoid segfaults if the index is out of range.  
262         (#316422, Guillaume Cottenceau)
263         (gtk_icon_view_set_drag_dest_item): 
264         (gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
265         #316424, Guillaume Cottenceau)
266
267 2005-09-18  Hans Breuer  <hans@breuer.org>
268
269         * gtk/gtktrayicon-win32.c : now handling events by hard-coded 
270         g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
271
272 2005-09-18  Hans Breuer  <hans@breuer.org>
273
274         * gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
275         _gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
276         * gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
277         the icon and is blinking with teststatusicon. More to come ...
278
279 2005-09-18  Hans Breuer  <hans@breuer.org>
280
281         * gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
282         cause gtkprogressbar.c has #include <config.h> conditionally; less
283         noise from generated gtk.def
284         * gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
285         
286         * gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
287         For me it works as well as the *NIX implemenation, that is not at all.
288
289         * gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
290
291         * gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
292         only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
293         back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
294         again - if compiled properly.
295
296         * tests/teststatusicon.c : don't use GNOME icons for testing, but icons
297         already coming with Gtk+. Makes it compile on win32.
298
299 2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>
300
301         * README.cvs-commits: fixed some tiny typos
302
303 2005-09-16  Tor Lillqvist  <tml@novell.com>
304
305         * modules/engines/ms-windows/msw_style.c (draw_extension,
306         draw_box_gap): Check whether the widget actually is a GtkNotebook
307         before treating it as such. Drop some unneeded local variables,
308         use parameter with same information instead. (#316412)
309
310 2005-09-15  Federico Mena Quintero  <federico@ximian.com>
311
312         * tests/autotestfilechooser.c: Start a set of automated tests for
313         the file chooser.  The only test in there right now doesn't pass
314         yet.  It specifies the intended behavior of the first optimization
315         of a series which I'll do on the file chooser (see
316         http://primates.ximian.com/~federico/news-2005-09.html#14 for the
317         details of this optimization).
318
319         * tests/Makefile.am: Added autotestfilechooser.c.
320
321         * gtk/gtkfilechooserprivate.h (struct
322         _GtkFileChooserDialogPrivate): Move all the file chooser's private
323         structures to here, so that they can be accessed by
324         tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
325         _GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
326
327         * gtk/gtkfilechooserdialog.c: See above.
328
329         * gtk/gtkfilechooserwidget.c: See above.
330
331         * gtk/gtkfilechooserdefault.c: See above.
332
333 Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>
334
335         * gtk/gtkwindow.c: 
336         gtk_window_map_event(): new function to work around lost unmap requests.
337         fixes bug #316180.
338
339 2005-09-14  Federico Mena Quintero  <federico@ximian.com>
340
341         * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
342         an easy-to-find profiling marker when starting to create a file
343         chooser.
344         (browse_files_model_finished_loading_cb): Likewise, for when the
345         chooser is finished loading.
346
347 2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>
348
349         * gtk/gtkcolorbutton.c: Check "color" argument in 
350         gtk_color_button_set_color ()
351
352 2005-09-14  Matthias Clasen  <mclasen@redhat.com>
353
354         * gtk/gtklabel.c (gtk_label_get_type): 
355         * gtk/gtkbutton.c (gtk_button_get_type): 
356         * gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
357         using a mem chunk for window groups, buttons, labels.
358
359         * gtk/updateiconcache.c (foreach_remove_func): Fix
360         a use-after-free bug.  (#316256, Alexander Nedotsukov)
361
362 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
363
364         * gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
365
366         * gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
367         
368 2005-09-13  Matthias Clasen  <mclasen@redhat.com>
369
370         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
371         Let GDK_Return pass through in some more cases.
372
373         * gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
374         activating the entry. 
375
376         * gtk/gtkiconview.c (gtk_icon_view_class_init):
377         (gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
378         docs.  (#316008, #316027, #316121, Guillaume Cottenceau)
379
380         * gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
381         (#316001, Guillaume Cottenceau)
382
383         * gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
384         mistake in the docs.  (#315993, Guillaume Cottenceau)
385
386         * tests/testentrycompletion.c (create_simple_completion_model): Add
387         some strings containing multibyte characters.
388
389         * gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
390         Fix prefix insertion for multibyte characters.  (#316095,
391         Tommi Komulainen)
392
393         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
394         * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
395         return NULL if the widget is not realized.  (#316023,
396         Guillaume Cottenceau)
397
398 2005-09-11  Matthias Clasen  <mclasen@redhat.com>
399
400         * gdk/gdk.symbols: 
401         * gdk/gdkproperty.h: 
402         * gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
403         New function to avoid pointless strdups when creating atoms
404         from static strings.  
405
406         * gdk/x11/*.c:
407         * gtk/*.c:  Use gdk_atom_intern_static_string() where 
408         appropriate.
409
410 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
411
412         * gtk/gtkcellrendererkeys.h: 
413         * gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
414         and editing accelerators, a port of EggCellRendererKeys .
415
416         * gtk/gtk.symbols:
417         * gtk/gtk.h:
418         * gtk/Makefile.am: Add the keys cell renderer.
419
420         * tests/Makefile.am: 
421         * tests/testkeys.c: Test GtkCellRendererKeys
422
423 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
424
425         Make it possible to determine if a key event is for a
426         modifier key:
427         
428         * gdk/x11/gdkprivate-x11.h: 
429         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
430         New function to determine if a keycode is mapped to a modifier.
431         (get_xkb): Get the modmap.
432
433         * gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
434         is_modifier bit by calling _gdk_keymap_key_is_modifier().
435
436         * gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
437         bit.
438
439 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
440
441         * gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
442         unused variable, noticed by Kjartan Maraas.
443
444 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
445
446         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
447         Make drag reordering work properly for columns other than the
448         first.  (#315054, Dan Winship)
449         
450         * gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
451         invalid fontnames better. (#136926, Michael R. Walton)
452         
453         Stop cursor blinking in non-editable regions of a text view.
454         (#311508, Torbjörn Andersson)
455         
456         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
457         (cursor_blinks): Take editability into account when deciding
458         whether the cursor blinks.
459         (gtk_text_view_button_release_event): 
460         (gtk_text_view_move_cursor_internal): Update cursor blinking here.
461
462         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
463         Use connect_after to connect to the focus_out event. This
464         ensures that the entry has already stopped blinking by the time
465         we emit the edited signal.  (#315229, Thomas Leonard)
466
467         * tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
468
469         * gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
470         unsigned ints to -1.  (#315481, Kjartan Maraas)
471
472         * gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
473         to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
474         (#314473, Stanislav Brabec)
475
476 2005-09-09  Matthias Clasen  <mclasen@redhat.com>
477
478         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
479         memory handling.  (#314975, Torsten Schoenfeld)
480
481         * gtk/gtkiconview.c (gtk_icon_view_class_init): 
482         * gtk/gtkfilesel.c (gtk_file_selection_class_init): 
483         * gtk/gtkcombobox.c (gtk_combo_box_class_init): 
484         * gtk/gtklabel.c (gtk_label_class_init): 
485         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
486         Stylistic improvements and clarifications for some blurbs. 
487         (#315520, Clytie Siddall)
488
489 2005-09-09  Tor Lillqvist  <tml@novell.com>
490
491         * gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
492         display name. There is only one GdkDisplay on Win32, and
493         constructing the display name isn't entirely trivial, so cacheing
494         is probably worth it. For instance GIMP calls this function a lot.
495         (gdk_display_open): Call gdk_display_get_name() to prime the
496         cached name.
497         (gdk_display_get_n_screens, gdk_display_get_screen,
498         gdk_display_get_default_screen): Verify parameter correctness like
499         the X11 backend does.
500
501         * gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
502         Return a freshly allocated string, as the API specifies. Fixes a
503         heap corruption problem that caused random errors and crashes in
504         GIMP, for instance.
505
506 2005-09-07  Matthias Clasen  <mclasen@redhat.com>
507
508         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
509         Make C-u commit and restart hex input if we are already in a
510         hex sequence.
511
512 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
513
514         * gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
515         (_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
516         if they are mapped to the same modifier.
517
518         * gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
519         to gtkstatusicon.c and gtktrayicon-x11.c
520
521         * gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
522         default accel mod mask.
523
524         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
525         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
526         Don't use GDK_ALT_MASK.
527
528         * gdk/gdktypes.h: No need to introduce GDK_ALT_MASK
529
530 2005-09-06  Matthias Clasen  <mclasen@redhat.com>
531
532         Add support for extra virtual modifiers:  (#85780, Owen Taylor)
533         
534         * tests/testgtk.c (create_key_lookup): Add tests for extra virtual
535         modifiers.
536
537         * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
538         Mod2 - Mod5 and against Super, Hyper, Meta.
539
540         * gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
541         * gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
542         (gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.
543
544         * gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
545         modmap to maintain the information which X modifiers map to
546         virtual modifiers.
547         (get_xkb): Set up the modmap from the XKB tables.
548         (update_keymaps): Set up the modmap from the information returned
549         by XGetModifierMapping in the non-XKB case.
550
551         * gdk/x11/gdkprivate-x11.h: 
552         * gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
553         function to set the virtual modifiers in the state.
554
555         * gdk/x11/gdkevents-x11.c (translate_key_event): Call 
556         _gdk_keymap_add_virtual_modifiers here.
557
558         * gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
559         Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
560         for GDK_MOD1_MASK.
561
562 2005-09-05  Matthias Clasen  <mclasen@redhat.com>
563
564         * gtk/gtkaction.c (connect_proxy): Set the label of a button
565         if it has no child.  (#315253, John Finlay)
566
567 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
568
569         * gtkimcontextsimple.h: Add a modifiers_dropped bit
570
571 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
572
573         * gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
574         on destroy to avoid problems when they are called on a destroyed
575         widget.  (#315135, John Cupitt)
576         
577         * gtk/gtkentry.c (gtk_entry_class_init):
578         * gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
579         for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
580
581         * gtk/gtkimcontextsimple.c: Rework the Unicode hex input
582         code. Now we only steal a single key combination, Ctrl-Shift-U,
583         instead of sixteen. 
584         A hex Unicode sequence must be started with Ctrl-Shift-U, followed
585         by a sequence of hex digits entered with Ctrl-Shift still held.
586         Releasing one of the modifiers or pressing space while the modifiers
587         are still held commits the character. It is possible to erase
588         digits using backspace.
589         As an extension to the above, we also allow to start the sequence
590         with Ctrl-Shift-U, then release the modifiers before typing any
591         digits, and enter the digits without modifiers.
592         (#82011, Owen Taylor)
593         
594 2005-09-02  Matthias Clasen  <mclasen@redhat.com>
595
596         * gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
597         we still need to deliver the destroy event.  (#314980, Chris Lahey)
598
599         * gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
600         im context before committing \n or \t.
601
602 2005-09-02  Alexander Larsson  <alexl@redhat.com>
603
604         * gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
605         (shortcuts_activate_volume):
606         Handle base_path being null in the rest of the cases (#310270)
607
608 2005-09-02  Tor Lillqvist  <tml@novell.com>
609
610         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
611         cursor position also in root window coordinates. Prune out
612         superfluous WM_MOUSEMOVE events even earlier, based on root window
613         coordinates. Windows sends WM_MOUSEMOVE messages after a new
614         window has ben mapped below the cursor even if the mouse doesn't
615         move. We used to generate GDK_MOTION_NOTIFY in these cases. This
616         confused at least gtk_menu_motion_notify(). (#314995)
617
618         * gtk/gtkintl.h: No need to include config.h here. It caused
619         warnings about GTK_LOCALEDIR being redefined on Win32 when
620         compiling files where gtkintl.h is included after gtkprivate.h
621         (which #undefines and re-#defines GTK_LOCALEDIR on Win32).
622
623         * gtk/gtkplug.c: Include config.h.
624
625 2005-09-01  Matthias Clasen  <mclasen@redhat.com>
626
627         * gtk/gtkfilesystemunix.c: Pass statbufs down to 
628         xdg_mime_get_mime_type_for_file() where possible, to avoid
629         useless re-stating.  
630         
631         * gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
632         typo.  (#314921, Guillaume Cottenceau)
633
634         * gdk/*.c: Intern some more strings.
635         * gtk/gtkintl.h: 
636         * gtk/*.c: Define an I_() macro and use it instead of the 
637         bulky g_intern_static_string().
638
639 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
640
641         * gtk/gtkbindings.c (binding_signal_new): Intern the signal name
642         instead of copying it.
643
644         * gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.
645
646         * gtk/*.c: Also intern static strings passed to 
647         g_object_set_data().
648
649         * gdk/Makefile.am: 
650         * gtk/Makefile.am: Intern type names in code generated by 
651         glib-mkenums, too.
652
653         * gtk/*.c: 
654         * gdk/x11/*.c: 
655         * gdk/*.c: Intern type names before registering the type to avoid 
656         unnecessary copies.
657
658         * configure.in: Require GLib 2.9.0
659
660 2005-08-31  Matthias Clasen  <mclasen@redhat.com>
661
662         * gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
663         and add icon-size and icon-size-set properties.  (#314172)      
664
665         * gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
666         groups across transient parents.  (#312918, Christian Persch)
667
668         * gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
669         Guillaume Cottenceau)
670
671         * gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
672         Fix a typo in the docs.  (#314878, Guillaume Cottenceau)
673
674 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
675
676         * gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
677         make C-/ select all and C-\ unselect all.  (#309301,
678         Kathy Fernandez)
679
680         * gtk/gtkimcontextsimple.c: Change the compose sequence for
681         soft hyphen to be multi_key-minus-minus-space, and add
682         compose sequences multi_key-minus-minus-period and 
683         multi_key-minus-minus-minus for en dash and em dash.
684         (#172653, Christian Lohmaier)
685
686         * gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
687         code.  (#313946, Christian Persch)
688
689         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
690         fix for the default value of the "ui" property.
691
692 2005-08-30  Matthias Clasen  <mclasen@redhat.com>
693
694         * gtk/gtk.symbols: 
695         * gtk/gtkselection.h:
696         * gtk/gtkselection.c: Add functions which look for text, image
697         or uri targets in an array of atoms.   (#314089, Mark Wielaard)
698
699         * gtk/gtk.symbols: 
700         * gtk/gtkselection.h:
701         * gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
702         Add a function to check wether targets include uri.  
703         (#314092, Mark Wielaard)
704         
705         * gtk/gtk.symbols: 
706         * gtk/gtkwindow.h: 
707         * gtk/gtkwindow.c: Add a deletable property with getter
708         and setter, to control the close button in the window 
709         frame.  (#59718, Havoc Pennington)
710
711 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
712
713         * gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
714         to the arrow keys for menu navigation.  (#162825, Carl Worth)
715
716         * gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes
717
718         * gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.
719
720         * gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
721         * gtk/gtkimage.c (gtk_image_new_from_stock): Don't
722         refer to nonexisting stock ids.
723
724         * gtk/gtktextview.c (popup_targets_received): 
725         * gtk/gtkentry.c (popup_targets_received): Construct
726         the "Select All" menuitem from stock.
727
728         * gtk/stock-icons/stock_select_all_{16,24}.png:
729         * gtk/stock-icons/Makefile.am: 
730         * gtk/gtkiconfactory.c:
731         * gtk/gtkstock.h: 
732         * gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
733         Calum Benson)
734
735         * gtk/gtktrayicon.c: Add a pointer to the spec.
736
737         * gtk/gtkstatusicon-x11.c: Add docs.
738
739         * gtk/gtkstatusicon.h: Fix a typo.
740
741         Add a cross-platform "tray icon" API, by
742         porting EggStatusIcon/EggTrayIcon (#105101)
743         
744         * gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
745         displays an icon in a notification area.
746
747         * gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
748         X11, using GtkTrayIcon.
749
750         * gtk/gtktrayicon.h: 
751         * gtk/gtktrayicon.c: An implementation of the freedesktop.org
752         system tray specification, not public API.
753
754         * gtk/gtk.symbols: Add new exported functions.
755
756         * gtk/gtk.h: Include gtkstatusicon.h.
757
758         * gtk/Makefile.am: Add new files.
759
760         * tests/Makefile.am:
761         * tests/teststatusicon.c: Test for GtkStatusIcon.
762
763 2005-08-29  Christopher Aillon  <caillon@redhat.com>
764
765         * gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
766         and GTK_STOCK_DISCONNECT
767         
768 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
769
770         * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
771         Use XFixesChangeSaveSet if available.  (#314682)
772
773         * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
774         was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
775
776 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
777
778         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
779         accidentally leftover duplicate pixbuf creation.  (#314700,
780         Kjartan Maraas)
781
782         * gtk/gtksettings.c (settings_update_cursor_theme): Don't 
783         leak the cursor theme name.  (#314693, Kjartan Maraas)
784
785         * gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
786         state.children in all cases.  (#313862, Kjartan Maraas)
787
788 2005-08-28  Matthias Clasen  <mclasen@redhat.com>
789
790         * po/POTFILES.in, po-properties/POTFILES.in:
791         Add gdk/gdkscreen.c
792
793 2005-08-27  Matthias Clasen  <mclasen@redhat.com>
794
795         * gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
796         value of the ui property. (#314532, Yong Wang)
797
798         * gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
799         when G_MAXLONG is passed as length.  
800
801 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
802
803         * gtk/updateiconcache.c: Add a separate --ignore-theme-index option
804         to avoid overloading --force.  (JP Rosevaar)
805
806 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
807
808         * configure.in: Bump version to 2.9.0
809
810         * gdk/gdk.symbols: 
811         * gdk/gdkscreen.h: 
812         * gdk/gdkscreen.c: Make the GdkScreen font options api
813         public, and add properties GdkScreen::font-options and
814         GdkScreen::resolution.  (#314004)
815
816         * gdk/gdkpango.c:
817         * gtk/gtksettings.c:
818         * gtk/gtkwidget.c: Adjust all callers.
819         
820         * gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
821         * gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
822         * gdk/gdkscreen.c: Include gdkintl.h.
823
824         * gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
825         variable warning, pointed out by Colin Walters. (#314585)
826
827 2005-08-26  Tor Lillqvist  <tml@novell.com>
828
829         * gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
830         printouts.
831         (gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)
832
833 2005-08-26  Matthias Clasen  <mclasen@redhat.com>
834
835         * gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
836         of week_start.  (#314473, JP Rosevaar)
837
838 2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>
839
840         * gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
841         lock.  (#314533, Thomas Fitzsimmons)
842
843 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
844
845         * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
846         NULL gracefully.  (#314523, Ed Catmur)
847
848 2005-08-25  Owen Taylor  <otaylor@redhat.com>
849
850         * gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
851         Handle theme == NULL.
852
853 2005-08-25  Matthias Clasen  <mclasen@redhat.com>
854
855         * gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
856         y offset into account when positioning the popup.  (#314470,
857         Christian Persch)
858
859 2005-08-25  Owen Taylor  <otaylor@redhat.com>
860
861         * gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
862         as instance_init, not base_init! (#314452, Fix from Frederic
863         Crozat, reported by Joe Marcus Clarke). Trivial cleanup: use -1.
864         rather than 1 for a negative flag value.
865
866 2005-08-24  Owen Taylor  <otaylor@redhat.com>
867
868         * gdk/gdkpango.c (draw_error_underline): Add a note about
869         cut-and-paste between here and Pango.
870
871 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
872
873         * === Released 2.8.2 ===
874
875         * gtk/gtkclipboard.c (request_image_received_func): Use the correct
876         callback for image/gif, and also try image/bmp.  (#314086,  Mark 
877         Wielaard)
878
879         * gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
880         Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
881         Sebastien Bacher)
882         
883         * NEWS: Updates
884
885         * gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
886         and cursor settings get propagated down to the screen initially.
887         Pointed out by Frederic Crozat.
888
889         * gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
890         message if the screen is NULL. Noticed by Kjartan Maraas.
891
892 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
893
894         * Bump version
895
896         * === Released 2.8.1 ===
897
898         * NEWS: Updates
899         
900 2005-08-24  Matthias Clasen  <mclasen@redhat.com>
901
902         * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
903         against lazy filterers which return values other than TRUE or
904         FALSE from their visible func.  (#314335)
905
906 2005-08-23  Owen Taylor  <otaylor@redhat.com>
907
908         Fix for #314004, reported by Michael Reinsch:
909
910         * gdk/gdk.symbols:
911         * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
912         Add gdk_screen_get/set_resolution_libgtk_only()
913
914         * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
915         the options for the screen on the newly created context.
916
917         * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
918         Move font options and dpi code from gtkwidget.c to gtksettings.c, set
919         the font options on the screen.
920
921         * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
922         the font options from the screen and set them on the context.
923
924 2005-08-23  Kristian Rietveld  <kris@gtk.org>
925
926         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
927         bother inserting new rows in a level with a zero refcount and
928         immediately free the level. (Fixes #312350, reported by Markku Vire).
929
930 2005-08-23  Matthias Clasen  <mclasen@redhat.com>
931
932         * gtk/updateiconcache.c: Complain when there is no index.theme file
933         in the specified directory, unless --force is used. Also add an
934         --index-only option to create caches without image data.
935
936         * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
937         C99ism.  (#314262, Robert Jeff Mitchell)
938         
939 2005-08-22  Manish Singh  <yosh@gimp.org>
940
941         * gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.
942
943         * gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.
944
945 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
946
947         * gtk/gtkwindow.c (gtk_window_client_event): 
948         * gtk/gtkicontheme.c (ensure_valid_themes) 
949         (_gtk_icon_theme_check_reload): Implement a clientmessage based
950         scheme for makeing sure that all GTK+ applications notice if an
951         icon theme has been updated. This should prevent multiple versions
952         of an icon theme cache to be mapped in memory at the same time,
953         which can cause excessive memory consumption.  (#313156, Chris 
954         Lahey)
955
956 2005-08-22  Matthias Clasen  <mclasen@redhat.com>
957
958         * gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
959         regarding icon theme changes.
960
961         * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
962         pixbufs which are backed by the mmapped memory of an icon cache,
963         increase the refcount of the icon cache, so that the memory is not
964         munmapped away underneath the pixbuf upon icon theme changes.  
965         (#314170, Kjartan Maraas)
966
967         * docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
968         to link against Xext.  (#314062)
969
970         * gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
971         overruns.  (#314081, Hans Breuer)
972
973 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
974
975         * gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
976         returned layout must not be modified.
977
978 Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>
979
980         * gtk/gtktreeview.c (gtk_tree_view_set_model): clear
981         scroll_to_path if the model changes.
982
983         * gtk/gtkiconview.c: (gtk_icon_view_destroy),
984         (gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
985         (gtk_icon_view_scroll_to_path): Handle scrolling to a path before
986         we're realized, #312798
987         (gtk_icon_view_set_model): clear scroll_to_path if the model
988         changes.
989
990 2005-08-20  Matthias Clasen  <mclasen@redhat.com>
991
992         * gtk/gtkrange.c (gtk_range_adjustment_changed) 
993         (gtk_range_adjustment_value_changed):  Don't queue a draw
994         if the layout has not changed.  (#313991, Benjamin Berg)
995
996 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
997
998         * gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
999         Benoit Carpentier)
1000
1001         * modules/engines/ms-windows/msw_style.c (setup_system_styles): 
1002         Fix a typo. 
1003
1004         * gtk/gtkfilechooserbutton.c (change_icon_theme) 
1005         (model_add_special, model_add_special, model_add_volumes):
1006         Handle pixbuf being NULL without warnings. Also, don't
1007         leak pixbuf references when the icon theme is changed.
1008
1009         * gtk/gtkmain.c (gtk_get_event_widget): Don't access
1010         the user data on destroyed windows, since at best
1011         it can be a stale pointer.  (#313953, Robin Green)      
1012
1013 2005-08-19  Matthias Clasen  <mclasen@redhat.com>
1014
1015         * gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
1016         (#313900, Sebastien Bacher)
1017
1018         * gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
1019         FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)
1020
1021         * gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
1022         (xdnd_read_actions, get_client_window_at_coords_recurse): 
1023         Free data returned from XGetWindowProperty. 
1024
1025         * gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
1026         Free data returned from XGetWindowProperty.  (313867, Kjartan
1027         Maraas)
1028         
1029         * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
1030         children in all cases.  (#313862, Kjartan Maraas)
1031
1032         * gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
1033         in the per-directory hash, even if they come from the icon cache. 
1034         We tried to avoid that before, but as a result leaked icon data
1035         structs.  (#313852, Kjartan Maraas)
1036
1037 2005-08-18  Matthias Clasen  <mclasen@redhat.com>
1038
1039         * gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
1040         signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)
1041
1042 2005-08-15  Owen Taylor  <otaylor@redhat.com>
1043
1044         * configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
1045         files for x11/xext. (Jonas Bonn)
1046
1047 2005-08-15  Tor Lillqvist  <tml@novell.com>
1048
1049         * gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
1050         inside GTK_NOTE.
1051
1052 2005-08-15  Owen Taylor  <otaylor@redhat.com>
1053
1054         * configure.in: Fix have_base_pc / have_base_x_pc typo.
1055
1056         * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
1057         (#313417, James Andrewartha)
1058
1059         * configure.in: Add fontconfig to X_PACKAGES, since we use it for
1060         FcNameConstant(). (More of #313417)
1061
1062 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1063
1064         * gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
1065         modal dialogs, make sure to inherit the window group from 
1066         the parent, since we don't inherit window groups across
1067         transient parents currently.  (#312918, Christian Persch)
1068
1069         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
1070         * gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 
1071
1072         * gtk/gtkiconview.c (gtk_icon_view_select_path) 
1073         (gtk_icon_view_scroll_to_path): Handle paths of depth 0
1074         gracefully.  (#312796, Jonathan Blandford)
1075
1076         * tests/testtoolbar.c: Add some more tests for menu placement.
1077
1078         * gtk/gtkmenutoolbutton.c (menu_position_func): 
1079         * gtk/gtktoolbar.c (menu_position_func): Improve positioning
1080         of toolbutton menus and of the overflow menu.  (#312937, 
1081         #153870, Christian Persch, Paolo Borelli)
1082
1083 2005-08-15  Tor Lillqvist  <tml@novell.com>
1084
1085         * gtk/updateiconcache.c: Use g_path_get_dirname() instead of
1086         the nonportable <libgen.h> and dirname().
1087
1088 2005-08-15  Matthias Clasen  <mclasen@redhat.com>
1089
1090         * gtk/gtksizegroup.c: Use object data to mark widgets and
1091         groups as visited, so that we avoid constant extra list
1092         traversals. Also allocate quarks in class_init.  (#311618,
1093         Michael Natterer)
1094
1095         * gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
1096         download location for the hicolor icon theme. (#313475, Olexiy 
1097         Avramchenko)
1098
1099         * gtk/gtkicontheme.c: Remove debug spew. 
1100
1101 2005-08-15  Owen Taylor  <otaylor@redhat.com>
1102
1103         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
1104         * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
1105         * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
1106         Handle pixmap == NULL when checking for a colormap.
1107         (Allin Cottrell).
1108
1109 2005-08-14  Matthias Clasen  <mclasen@redhat.com>
1110
1111         * gtk/updateiconcache.c: Store only one copy of the pixel data
1112         for symlinked icons. To achieve this, maintain a hashtable 
1113         mapping pathnames to pixel data, and share the pixel data for
1114         all symlinks resolving to the same pathname. When writing out
1115         the image data, write out the pixel data only the first time
1116         it is met, and store the offset pointing to the first copy
1117         for use in all later cases.
1118         This reduces the size of the Bluecurve icon cache from 40
1119         to 13MB. (#312972)
1120