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