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