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