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