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