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