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