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