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