ChangeLog.pre-2-10 52.9 KB
Newer Older
1
2
3
4
5
2005-10-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Add the popup
	window to the toplevels window group.  (#319912, Christian Persch)

Kristian Rietveld's avatar
Kristian Rietveld committed
6
7
8
9
10
2005-10-28  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
	stupid thinko.

11
12
2005-10-28  Matthias Clasen  <mclasen@redhat.com>

13
14
15
	* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
	drag cursors.  (#319200, Federico Mena Quintero)

16
17
18
19
	* gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
	Shift-G to go to the previous match, like firefox.  (#320061, Christian 
	Neumair)

20
21
22
	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
	C99ism.  (#320000, Kazuki Iwamoto)

23
24
25
	* gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
	stars.  (#319985, Bastien Nocera)

26
27
28
	* gtk/gtktreeview.c (gtk_tree_view_search_entry_flush_timeout): Return
	FALSE, so we don't flush repeatedly.  (#319151, Alexander Larsson)

Michael Natterer's avatar
Michael Natterer committed
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2005-10-26  Michael Natterer  <mitch@imendio.com>

	Fix bug #319974:

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
	make sure that setting any of pixbuf/stock-id/icon-name resets the
	others because they are mutually exclusive, and that unsetting any
	of them only resets the pixbuf and nothing else. Also added
	some missing g_object_notify().

	(gtk_cell_renderer_pixbuf_get_property): simplified calls to
	g_value_set_object().

	(gtk_cell_renderer_pixbuf_create_stock_pixbuf)
	(gtk_cell_renderer_pixbuf_create_named_icon_pixbuf): added
	g_object_notify ("pixbuf").

46
47
2005-10-27  Matthias Clasen  <mclasen@redhat.com>

48
49
50
51
	* gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
	careful about initializing cell_area.  (#319382, Tommi
	Komulainen)

52
53
54
	* gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
	Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)

55
56
57
58
59
60
	* demos/gtk-demo/clipboard.c (paste_received): Only set the
	text if it is not NULL.  (#319930, Thomas Klausner)

	* gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
	loader before trying to get the pixbuf.  (#319930, Thomas Klausner)

61
62
63
64
65
66
67
2005-10-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c (gtk_file_system_module_load): 
	* gtk/gtkthemes.c (gtk_theme_engine_load): 
	* gtk/gtkimmodule.c (gtk_im_module_load): Use G_MODULE_BIND_LAZY
	when dlopening modules.  (#319557, Laszlo Peter)

Matthias Clasen's avatar
Matthias Clasen committed
68
69
2005-10-26  Matthias Clasen  <mclasen@redhat.com>

70
71
72
	* gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
	segments when determining text direction.  (#319065, Tommi Komulainen)

73
74
75
	* gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
	on duplicate destroy.  (#318953, Gustavo Carneiro)

Matthias Clasen's avatar
Matthias Clasen committed
76
77
78
79
	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog): 
	Point out that destroy-with-parent is a bad idea for the dialog
	passed to this function.  (#318943, Christian Persch)

80
81
82
	* */Makefile.am: use $(GLIB_MKENUMS) instead of 
	glib-mkenums.  (#318582, Damien Carbery)

83
	* gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
84
	docs.  (#317682, Christian Neumair)
85

Matthias Clasen's avatar
Matthias Clasen committed
86
87
88
89
	* gdk/x11/gdkdnd-x11.c: Remove an extra const which doesn't
	seem to affect the placement of the data in the readonly 
	section, and causes problems with some compilers.  (#317844)

90
91
2005-10-25  Matthias Clasen  <mclasen@redhat.com>

92
93
94
95
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	Fix some issues with background drawing in RTL.  (#318781,
	Eric Cazeaux)

Matthias Clasen's avatar
Matthias Clasen committed
96
97
98
99
	* tests/Makefile.am:
	* tests/testentrycompletion.c: Apply a patch by Christian
	Persch to add property editors.

100
101
102
	* gtk/gtkstatusicon.c: Emit activate on single-click,
	not on double-click, change proposed by Milosz Derezynski.

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
2005-10-25  Kristian Rietveld  <kris@gtk.org>

	Fixes #311955, reported by Markku Vire; and a lot more.

	* gtk/gtktreemodelfilter.c: Made this thing work correctly.
	Levels can now have invisible nodes cached, functions have been
	rewritten/refactored to take this into account; also the logic in
	some functions has been corrected.
	
	Each referenced node now references all visible children or a single
	invisible child, in order to be able to monitor all changes in the
	child model required for correct operation.

	When a virtual root is set, all nodes on the virtual root level are
	referenced.

	At last, a bunch of random bug fixes and comment updates.

121
122
2005-10-25  Matthias Clasen  <mclasen@redhat.com>

123
124
125
	* gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
	more docs.  (#319722, Paolo Borelli)

126
127
128
129
	* gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
	initialization of screen_x11->xft_rgba more explicit.  (#319627,
	Bogdan Nicula)

130
131
132
	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
	in a blurb.  (#319499, Francisco Javier F. Serrador)

133
134
135
136
137
138
139
140
141
142
143
144
2005-10-24  Matthias Clasen  <mclasen@redhat.com>

	Add settings to hide the input method and Unicode control character
	submenus in the context menus of GtkEntry and GtkTextView.  
	
	* gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.
	
	* gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.

	* gtk/gtktextview.c (popup_targets_received): 
	* gtk/gtkentry.c (popup_targets_received): Use the settings here.

145
146
147
148
149
150
151
152
153
154
2005-10-24  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
	row-has-child-toggled when the level is not in the cache does not
	make sense.  (This bug probably crept in during the early stages
	of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
	implementation yet),
	(gtk_tree_model_sort_real_unref_node): only get the child iter
	when we will actually also use it.

155
156
157
158
159
160
161
2005-10-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
	widget being realized, in addition to being visible, to avoid
	running into precondition check in gtk_tree_view_get_cell_area().
	(approved by Kris).

162
163
164
165
166
167
168
169
170
2005-10-22  Dom Lachowicz <cinamod@hotmail.com>

	* modules/engines/ms-windows/msw_style.c (setup_msw_rc_style): 
	Experimentally, scrollbar steppers can shrink to 8 pixels on 
	Win32. Reflect that in the theme.
	* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Experimentally,
	there is a 1-pixel border between a scrollbar and its child
	in ScrolledWindows on Win32. Reflect that in the theme.
	
171
172
173
174
175
2005-10-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
	for the selection window.  (#318806, Alex Larsson)

Federico Mena Quintero's avatar
Federico Mena Quintero committed
176
177
178
179
180
181
182
183
184
185
186
187
188
2005-10-18  Federico Mena Quintero  <federico@ximian.com>

	Fixes bug #317999:

	* tests/autotestfilechooser.c
	(test_button_folder_states_for_action): Test that we have either
	$cwd or the explicitly-set folder.
	(test_reload_sequence): Likewise.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_current_folder): If our reload_state
	is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.

189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
2005-10-14  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdisplay-win32.c: Remove the clipboard viewer code.
	It didn't really do anything useful, and was just confusing and
	incomplete. Comments claimed we don't do delayed rendering, but in
	fact we do, for images. (The delayed rendering code has other
	problems, though, see #168173.) The clipboard viewer code was
	probably even buggy (the WM_CHANGECBCHAIN handled didn't propagate
	the message when necessary). It was just test code, it said so in
	a comment. Add something similar back later if necessary.

	(_win32_on_clipboard_change,
	_gdk_win32_register_clipboard_notification): Remove.

	(gdk_display_supports_selection_notification,
	gdk_display_request_selection_notification): Always just return
	FALSE. We didn't generate any GDK_OWNER_CHANGE events anywhere.

207
208
209
210
211
212
2005-10-13  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't treat
	Alt-Enter specially. It does not have any special meaning and
	should be passed on to the application. (#318378, Tim Evans)

213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
2005-10-13  Tor Lillqvist  <tml@novell.com>

	Set visual depth to 24 for 32 bits-per-pixel devices on
	Win32. This allows gdk_drawable_real_draw_pixbuf() to use the
	optimized composite_0888() function rather than the slower image
	dithering functions to draw pixbufs (#313993, John Ehresman)

	* gdk/win32/gdkimage-win32.c (_gdk_win32_new_image): Use
	_gdk_windowing_get_bits_for_depth() to initialize
	GdkImage::bits_per_pixel.
	(_gdk_windowing_get_bits_for_depth): Return 32 bits for depth 24.

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use
	_gdk_windowing_get_bits_for_depth() to initialize
	BITMAPINFOHEADER::biBitCount.

	* gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Set
	GdkVisual::depth to 24 even if GetDeviceCaps(BITSPIXEL) returns
	32.

233
234
235
236
237
2005-10-12  Stefan Kost  <ensonic@users.sf.net>

	* demos/gtk-demo/appwindow.c: (about_cb):
	  use PACKAGE_VERSION,bump year (#318654)

238
239
240
241
242
243
244
245
246
247
248
249
2005-10-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off 
	toggle here with the matching on toggle if it immediately follows. 
	This is a common case, and handling it here prevents quadratic blowup 
	in cleanup_line() below.  (#317125)

	* gtk/gtktextsegment.h: 
	* gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
	the character counts into this function instead of computing them
	again.

250
251
252
253
254
255
256
257
2005-10-10  Tommi Komulainen  <tommi.komulainen@iki.fi>

	* gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
	code.
	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_add_shortcut_folder): Return an error code
	when the shortcut already exists in the sidebar.  (#147521)

258
259
260
261
262
2005-10-09  Matthias Clasen  <mclasen@redhat.com>

	* tests/testcombo.c: Demonstrate how to use custom widgets in
	a GtkComboBox.  

Federico Mena Quintero's avatar
Federico Mena Quintero committed
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
2005-10-07  Federico Mena Quintero  <federico@ximian.com>

	Fixes bug #317999:

	* tests/autotestfilechooser.c (test_reload_sequence): Ensure that
	the the result of gtk_file_chooser_get_folder() is NULL or
	non-NULL at the right times.  Log the tests.
	(test_button_folder_states): New test for the initial states of
	the current folder in GtkFileChooserButton.
	(main): Test that the number of warnings/errors/critical errors is
	zero.

	* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
	Clarify the documentation on when this can return NULL.
	(gtk_file_chooser_get_current_folder_uri): Likewise.

	* gtk/gtkfilechooserbutton.c (struct
	_GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
	we use it to keep track of whether a folder has been set.
	(gtk_file_chooser_button_map):  Implement.  If no folder has been
	loaded before, we at least try to load $cwd here.
	(gtk_file_chooser_button_constructor): If the construct-time
	dialog already has a folder set, turn on our folder_has_been_set
	flag.
	(dialog_current_folder_changed_cb): Turn on our
	folder_has_been_set flag.

290
291
292
293
294
295
2005-10-07  Michael Natterer  <mitch@gimp.org>

	* gtk/gtkfilechooserdefault.c: remove some explicit #defines of
	PROFILE_FILE_CHOOSER because they break compilation after the
	removal of <unistd.h>.

296
297
2005-10-07   Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
Matthias Clasen committed
298
299
300
	* gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
	by moving it out of the profiling ifdef.

301
302
303
	* gtk/gtkfilechooserdefault.c: Remove a redundant (and
	unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)

304
305
306
307
	* gtk/gtktexttag.c (gtk_text_attributes_ref): Use
	g_return_val_if_fail(), not g_return_if_fail().  (#318412,
	Kazuki Iwamoto)

Matthias Clasen's avatar
Matthias Clasen committed
308
309
310
311
312
313
314
2005-10-06  Matthias Clasen  <mclasen@redhat.com> 
		
	* gtk/gtk.symbols:
	* gtk/gtktextbuffer.h:
	* gtk/gtktextbuffer.c: Add a readonly has-selection property
	with a getter.  (#318161, Paolo Borelli)

315
316
2005-10-05  Matthias Clasen  <mclasen@redhat.com>

317
318
	* README.in: Start collecting release notes for 2.10.

319
320
321
322
	* gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
	leak fix, since the assertion failures were traced to 
	an xchat bug.  (#314696)
	
323
324
325
326
	* gtk/gtkstyle.c (gtk_style_detach):
	(gtk_style_attach):  Documentation improvements.
	(gtk_style_detach): Assert that the attach_count is > 0.

327
328
329
330
331
332
333
334
335
336
337
338
339
340
2005-10-04  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
	shortcut position, not a ShortcutsIndex, to make the function more
	generic.
	(home_folder_handler): Pass the resolved index to
	switch_to_shortcut(), rather than just SHORTCUTS_HOME.
	(desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
	(gtk_file_chooser_default_class_init): Add a "quick-bookmark"
	binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0.  These
	make the respective key switch to the first, second, ..., tenth
	bookmark.
	(quick_bookmark_handler): Implement.

341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
2005-10-04  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
	Desktop; just use their real names on the file system for the
	user-visible names.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_class_init): Add a "desktop-folder"
	binding signal, and bind it to M-d by default.
	(desktop_folder_handler): Implement the default handler.
	(home_folder_handler): Use a helper function.
	(switch_to_shortcut): New helper function.
	(shortcuts_append_home): Don't special-case the name of "Home";
	just use the folder name.

356
357
358
359
360
2005-10-04  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
	HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)

361
362
363
364
365
366
2005-10-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
	from yesterday, since it leads to assertion failures.  (#317879,
	Sebastian Bacher)

367
368
369
370
371
2005-10-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcalendar.c (gtk_calendar_init): Call 
	calendar_compute_days() after setting priv->week_start.

372
373
374
375
376
2005-10-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
	removing it from the hash table.  (#314696, Benjamin Berg)

377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
2005-10-01  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdrawable-win32.c (blit_from_pixmap): In case
	BitBlt() fails with ERROR_INVALID_HANDLE, the most probable cause
	is that the the desktop isn't visible because the session has been
	switched, the screen is locked, or a terminal server session
	disconnected, so no error message necessary. (#137796)

	It is of course remotely possible that BitBlt() failing with
	ERROR_INVALID_HANDLE might also be caused by some other
	problem. We could strive for perfection and track whether the
	desktop is visible by using WTSRegisterSessionNotification() and
	handling WM_WTSESSION_CHANGE. I think that's overdoing it just for
	this issue, though. If we would track desktop visibility, we
	should then avoid even trying to update the display at all while
	the desktop isn't visible.

394
395
2005-09-30  Matthias Clasen  <mclasen@redhat.com>

396
397
398
399
400
	* gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
	to correct the calculations for the first week day. We may
	just have to remove this code if too many locales turn out 
	to have broken data. 

401
402
403
	* gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
	some cases.  (#317611, Tommi Komulainen)

404
405
406
407
	* gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
	Prevent overflow when storing size hints in an unsigned
	short variable. Tracked down by Ray Strode and Søren Sandmann.

408
409
2005-09-29  Matthias Clasen  <mclasen@redhat.com>

410
411
412
	* gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
	Paolo Borelli)

413
414
415
	* gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
	grab shadowed.  (#317332)

416
417
418
419
2005-09-29  Tor Lillqvist  <tml@novell.com>

	* gtk-zip.sh.in: DLLs are always in bin nowadays, no need to test.

420
421
422
423
424
425
426
427
2005-09-28  Federico Mena Quintero  <federico@ximian.com>

	* tests/autotestfilechooser.c (test_reload_sequence): Oops, return
	if the unmap test fails.
	(test_reload_sequence): Use gtk_widget_show_now() instead of
	gtk_widget_show() for the dialog.
	Thanks to Tim Janik for noticing these.

428
429
430
431
432
433
434
435
436
437
438
439
440
441
2005-09-28  Federico Mena Quintero  <federico@ximian.com>

	* tests/testcellrenderertext.c: New file with a set of tests for
	GtkCellRendererText.  The idea is to run a text renderer through
	most of its interesting property values to see that it works
	correctly.

	* tests/Makefile.am: Added testcellrenderertext.

	* gtk/gtkfilechooserdefault.c (load_set_model): Mark the
	entry/exit of this function for profiling.
	(gtk_file_chooser_default_style_set): Mark the start/end of the
	calls to the parent class and the the signal emission for profiling.

442
443
444
445
446
447
448
2005-09-29  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
	passed to bindtextdomain() which isn't UTF-8-aware, so convert to
	system codepage using g_win32_locale_filename_from_utf8().
	(#317457, Kazuki Iwamoto)

449
450
2005-09-28  Matthias Clasen  <mclasen@redhat.com>

451
452
453
	* gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
	here. (#317039, Paolo Borelli)

Matthias Clasen's avatar
Matthias Clasen committed
454
	* gtk/gtktexttag.h: 
455
456
457
458
	* gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
	to make this function work as boxed copy function.  (#317455,
	Gustavo Carneiro)

459
460
461
	* gtk/gtkclipboard.c (request_image_received_func): Don't unref
	NULL.  (#316828, Tor Lillqvist)

462
463
464
465
466
2005-09-28  Tor Lillqvist  <tml@novell.com>

	* modules/input/imime.c: Include <config.h>. (#317444, Kazuki
	Iwamoto)

467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
2005-09-27  Federico Mena Quintero  <federico@ximian.com>

	Don't reload the current folder unnecessarily on ::map().

	* gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
	the reloading state.
	(struct _GtkFileChooserDefault): Added a "reload_state" field.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
	Initialize impl->reload_state.
	(gtk_file_chooser_default_map): Check the impl->reload_state; load
	a default folder if no folder has been set, or reload the current
	one only if we had been unmapped first.
	(gtk_file_chooser_default_update_current_folder): Set the
	reload_state to RELOAD_HAS_FOLDER.
	(gtk_file_chooser_default_unmap): Implement, and set the
	reload_state to RELOAD_WAS_UNMAPPED.
	(shortcuts_model_create): Don't call shortcuts_add_bookmarks()
	here; they'll get (re)loaded on ::map() anyway.

	* gtk/gtkfilechooserwidget.c
	(gtk_file_chooser_widget_constructor): Don't set a default folder here.

	* tests/autotestfilechooser.c (test_action_widgets): Don't take in
	a dialog; build it ourselves.
	(test_reload): New test to ensure that we don't load the default
	folder more than once, and that we reload it when
	unmapping/remapping.
	(get_impl_from_dialog): New utility function.
	(test_widgets_for_current_action): Use get_impl_from_dialog().

498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
2005-09-27  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_constructor): Mark the entry/exit of
	this function for profiling.
	(check_icon_theme): Likewise.
	(change_icon_theme): Likewise.
	(settings_notify_cb): Likewise.
	(gtk_file_chooser_default_screen_changed): Likewise.
	(update_chooser_entry): If the selection is empty, clear the file
	name entry only if we are in CREATE_FOLDER mode.  In SAVE mode,
	nothing will be selected when the user starts typeahead in the
	treeview, and we don't want to clear the file name entry in that
	case --- the user could be typing-ahead to look for a folder name.
	Fixes bug #308332, patch by Jürg Billeter.

514
515
516
517
518
519
2005-09-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Pop below the entry if there's more free space below the entry
	than above.  (#316948, Tommi Komulainen)

520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
2005-09-26  Federico Mena Quintero  <federico@ximian.com>

	Do not create the save mode-specific widgets in the open modes, so
	that we don't carry their baggage around.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_constructor): Don't create the
	save_widgets here.
	(save_widgets_create): Set the impl->save_widgets directly here,
	instead of passing the widgets back to the caller.  Also, pack
	them into the impl's box.
	(update_appearance): Create or destroy the save widgets as
	appropriate.  Set the action of the save_file_name_entry here.
	(shortcuts_add_current_folder): Set the active item in the
	save_folder_combo only if it exists.
	(gtk_file_chooser_default_set_property): Don't set the action of
	the save_file_name_entry here.
	(gtk_file_chooser_default_update_current_folder): Set the base
	folder of the save_file_name_entry only if the entry exists.
	(shortcuts_drag_data_received_cb): Cast the selection_data->data
	to (const char *) since that's what shortcuts_drop_uris() expects.
	(file_list_drag_data_received_cb): Likewise, for
	g_uri_list_extract_uris().

544
545
546
547
548
549
550
2005-09-26  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask): Set
	the shaped flag here, too. (#316871)
	(gdk_window_shape_combine_region): Currently unimplemented, so
	don't do anything to the shaped flag here.

551
552
553
554
555
556
557
558
559
560
561
562
2005-09-26  Matthias Clasen  <mclasen@redhat.com>

	Fix #316871, reported by Dan Winship:
	
	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a shaped flag.

	* gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) 
	(gdk_window_shape_combine_region): Set it here.

	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
	remove the child area for shaped windows.

563
564
565
566
567
2005-09-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
	Don't leak expander pixbufs.  (#316946, Tommi Komulainen)

568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
2005-09-22  Michael Natterer  <mitch@imendio.com>

	Renamed GtkCellRendererKeys to GtkCellRendererAccel to be
	consistent with GTK+ terminology:

	* gtk/gtkcellrendererkeys.[ch]
	* tests/testkeys.c: removed...

	* gtk/gtkcellrendereraccel.[ch]
	* tests/testaccel.c: ...and added.

	* gtk/Makefile.am
	* gtk/gtk.h
	* gtk/gtk.symbols
	* tests/Makefile.am: changed accordingly.

584
585
586
587
588
2005-09-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
	for the grab-broken-event signal, noticed by Damon Chaplin.

589
590
591
592
593
594
595
596
597
598
599
2005-09-21  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert,
	gdk_text_property_to_text_list_for_display,
	gdk_text_property_to_utf8_list_for_display,
	gdk_win32_selection_add_targets,
	_gdk_win32_selection_convert_to_dib): Free return value from
	gdk_atom_name().
	(gdk_text_property_to_text_list_for_display): Drop GError variable
	that isn't actually used after being set.

Johan Dahlin's avatar
Johan Dahlin committed
600
601
602
603
604
2005-09-20  Johan Dahlin  <jdahlin@async.com.br>

	* gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in 
	documentation.

605
606
607
608
609
610
611
612
613
614
2005-09-20  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkselection-win32.c
	(gdk_selection_owner_get_for_display): Do return the correct owner
	for CLIPBOARD (i.e., the owner of the Windows Clipboard, if it is
	a window GDK knows about). The reason to return NULL seems to have
	gone when in the fix for bug #163702 the artificial
	GDK_SELECTION_CLEAR event generation was removed from
	gdk_selection_send_notify_for_display(). Fixes bug #316552.

Matthias Clasen's avatar
Matthias Clasen committed
615
616
617
618
619
620
621
622
623
624
625
626
627
628
2005-09-20  Matthias Clasen  <mclasen@redhat.com>

	Avoid unnecessary XkbGetState() calls and XkbStateNotify
	events.  (#151555, Søren Sandmann)

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Use 
	XkbSelectEventDetails() to select XkbStateNotify events
	for only the state we care about.

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkkeys-x11.c (_gdk_keymap_state_changed): Pass
	the event into the function and update the keymap state from
	the state information contained in the event. Adjust all callers.
	
629
630
631
632
633
2005-09-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
	in multiple places to avoid segfaults if the index is out of range.  
	(#316422, Guillaume Cottenceau)
Matthias Clasen's avatar
Matthias Clasen committed
634
	(gtk_icon_view_set_drag_dest_item): 
635
	(gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
Matthias Clasen's avatar
Matthias Clasen committed
636
	#316424, Guillaume Cottenceau)
637

638
639
640
641
642
2005-09-18  Hans Breuer  <hans@breuer.org>

	* gtk/gtktrayicon-win32.c : now handling events by hard-coded 
	g_signal_emit_by_name() - will break when gtkstatusicon.c changes.

643
644
645
646
647
648
649
2005-09-18  Hans Breuer  <hans@breuer.org>

	* gdk/gdk.symbols gdk/win32/gdkwin32.h gdk/win32/gdkcursorwin32.c : export
	_gdk_win32_pixbuf_to_hicon() as gdk_win32_pixbuf_to_hicon_libgtk_only()
	* gtk/gtktrayicon-win32.c : a lot of debug spew but it has started to show
	the icon and is blinking with teststatusicon. More to come ...

650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
2005-09-18  Hans Breuer  <hans@breuer.org>

	* gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
	cause gtkprogressbar.c has #include <config.h> conditionally; less
	noise from generated gtk.def
	* gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
	
	* gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
	For me it works as well as the *NIX implemenation, that is not at all.

	* gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()

	* gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
	only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
	back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
	again - if compiled properly.

	* tests/teststatusicon.c : don't use GNOME icons for testing, but icons
	already coming with Gtk+. Makes it compile on win32.

670
671
672
673
2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>

	* README.cvs-commits: fixed some tiny typos

674
675
676
677
678
679
680
2005-09-16  Tor Lillqvist  <tml@novell.com>

	* modules/engines/ms-windows/msw_style.c (draw_extension,
	draw_box_gap): Check whether the widget actually is a GtkNotebook
	before treating it as such. Drop some unneeded local variables,
	use parameter with same information instead. (#316412)

681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
2005-09-15  Federico Mena Quintero  <federico@ximian.com>

	* tests/autotestfilechooser.c: Start a set of automated tests for
	the file chooser.  The only test in there right now doesn't pass
	yet.  It specifies the intended behavior of the first optimization
	of a series which I'll do on the file chooser (see
	http://primates.ximian.com/~federico/news-2005-09.html#14 for the
	details of this optimization).

	* tests/Makefile.am: Added autotestfilechooser.c.

	* gtk/gtkfilechooserprivate.h (struct
	_GtkFileChooserDialogPrivate): Move all the file chooser's private
	structures to here, so that they can be accessed by
	tests/autotestfilechooser.c:  _GtkFileChooserDialogPrivate,
	_GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.

	* gtk/gtkfilechooserdialog.c: See above.

	* gtk/gtkfilechooserwidget.c: See above.

	* gtk/gtkfilechooserdefault.c: See above.

704
705
706
707
708
709
Thu Sep 15 15:27:55 2005  Tim Janik  <timj@imendio.com>

	* gtk/gtkwindow.c: 
	gtk_window_map_event(): new function to work around lost unmap requests.
	fixes bug #316180.

710
711
712
713
714
715
716
717
2005-09-14  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Add
	an easy-to-find profiling marker when starting to create a file
	chooser.
	(browse_files_model_finished_loading_cb): Likewise, for when the
	chooser is finished loading.

718
719
2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>

720
721
	* gtk/gtkcolorbutton.c: Check "color" argument in 
	gtk_color_button_set_color ()
722

723
724
2005-09-14  Matthias Clasen  <mclasen@redhat.com>

725
726
727
728
729
	* gtk/gtklabel.c (gtk_label_get_type): 
	* gtk/gtkbutton.c (gtk_button_get_type): 
	* gtk/gtkwindow.c (gtk_window_group_get_type): No point in 
	using a mem chunk for window groups, buttons, labels.

730
731
732
	* gtk/updateiconcache.c (foreach_remove_func): Fix
	a use-after-free bug.  (#316256, Alexander Nedotsukov)

733
734
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

735
736
	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)

737
738
	* gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
	
739
740
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

741
742
743
744
745
746
	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
	Let GDK_Return pass through in some more cases.

	* gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
	activating the entry. 

747
748
749
750
	* gtk/gtkiconview.c (gtk_icon_view_class_init):
	(gtk_icon_view_get_dest_item_at_pos):  Fix typos in the 
	docs.  (#316008, #316027, #316121, Guillaume Cottenceau)

751
752
753
	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
	(#316001, Guillaume Cottenceau)

754
755
756
	* gtk/gtkdnd.c (gtk_drag_set_icon_name): Fix a copy-and-paste
	mistake in the docs.  (#315993, Guillaume Cottenceau)

757
758
759
760
761
762
763
	* tests/testentrycompletion.c (create_simple_completion_model): Add
	some strings containing multibyte characters.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix): 
	Fix prefix insertion for multibyte characters.  (#316095,
	Tommi Komulainen)

764
765
766
767
768
	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): 
	* gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): Silently
	return NULL if the widget is not realized.  (#316023,
	Guillaume Cottenceau)

769
770
771
772
773
774
775
776
2005-09-11  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols: 
	* gdk/gdkproperty.h: 
	* gdk/x11/gdkproperty-x11.c (gdk_atom_intern_static_string): 
	New function to avoid pointless strdups when creating atoms
	from static strings.  

777
778
779
	* gdk/x11/*.c:
	* gtk/*.c:  Use gdk_atom_intern_static_string() where 
	appropriate.
780

781
782
783
784
785
786
787
788
789
790
791
792
793
2005-09-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrendererkeys.h: 
	* gtk/gtkcellrendererkeys.c: Add a cell renderer for displaying
	and editing accelerators, a port of EggCellRendererKeys .

	* gtk/gtk.symbols:
	* gtk/gtk.h:
	* gtk/Makefile.am: Add the keys cell renderer.

	* tests/Makefile.am: 
	* tests/testkeys.c: Test GtkCellRendererKeys

794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
2005-09-09  Matthias Clasen  <mclasen@redhat.com>

	Make it possible to determine if a key event is for a
	modifier key:
	
 	* gdk/x11/gdkprivate-x11.h: 
	* gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): 
	New function to determine if a keycode is mapped to a modifier.
	(get_xkb): Get the modmap.

	* gdk/x11/gdkevents-x11.c (translate_key_event): Set the 
	is_modifier bit by calling _gdk_keymap_key_is_modifier().

	* gdk/gdkevents.h (struct _GdkEventKey): Add an is_modifier
	bit.

2005-09-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkpixbuf-drawable.c (convert_real_slow): Remove an 
	unused variable, noticed by Kjartan Maraas.

815
816
817
818
819
820
2005-09-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): 
	Make drag reordering work properly for columns other than the
	first.  (#315054, Dan Winship)
	
821
822
823
	* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
	invalid fontnames better. (#136926, Michael R. Walton)
	
824
825
	Stop cursor blinking in non-editable regions of a text view.
	(#311508, Torbjörn Andersson)
Matthias Clasen's avatar
Matthias Clasen committed
826
	
827
828
829
830
831
832
833
834
835
836
837
	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): 
	(cursor_blinks): Take editability into account when deciding
	whether the cursor blinks.
	(gtk_text_view_button_release_event): 
	(gtk_text_view_move_cursor_internal): Update cursor blinking here.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): 
	Use connect_after to connect to the focus_out event. This
	ensures that the entry has already stopped blinking by the time
	we emit the edited signal.  (#315229, Thomas Leonard)

Matthias Clasen's avatar
Matthias Clasen committed
838
	* tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
839

840
841
842
	* gtk/gtkwindow.c (gtk_window_parse_geometry): Don't set
	unsigned ints to -1.  (#315481, Kjartan Maraas)

843
844
845
846
	* gtk/gtkcalendar.c (gtk_calendar_init): first_weekday is relative
	to week_1stday, not to Sunday. Gotta love the ISO 14652 guys...
	(#314473, Stanislav Brabec)

847
848
2005-09-09  Matthias Clasen  <mclasen@redhat.com>

849
850
851
	* gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
	memory handling.  (#314975, Torsten Schoenfeld)

852
853
854
855
856
857
858
859
	* gtk/gtkiconview.c (gtk_icon_view_class_init): 
	* gtk/gtkfilesel.c (gtk_file_selection_class_init): 
	* gtk/gtkcombobox.c (gtk_combo_box_class_init): 
	* gtk/gtklabel.c (gtk_label_class_init): 
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
	Stylistic improvements and clarifications for some blurbs. 
	(#315520, Clytie Siddall)

860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
2005-09-09  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Cache the
	display name. There is only one GdkDisplay on Win32, and
	constructing the display name isn't entirely trivial, so cacheing
	is probably worth it. For instance GIMP calls this function a lot.
	(gdk_display_open): Call gdk_display_get_name() to prime the
	cached name.
	(gdk_display_get_n_screens, gdk_display_get_screen,
	gdk_display_get_default_screen): Verify parameter correctness like
	the X11 backend does.

	* gdk/win32/gdkscreen-win32.c (gdk_screen_make_display_name):
	Return a freshly allocated string, as the API specifies. Fixes a
	heap corruption problem that caused random errors and crashes in
	GIMP, for instance.

877
878
879
880
881
882
2005-09-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): 
	Make C-u commit and restart hex input if we are already in a
	hex sequence.

883
884
2005-09-06  Matthias Clasen  <mclasen@redhat.com>

885
886
887
888
	* gdk/x11/gdkkeys-x11.c (update_modmap): Make the modmap reflexive.
	(_gdk_keymap_add_virtual_modifiers): Don't add both Alt and Meta
	if they are mapped to the same modifier.

Matthias Clasen's avatar
Rename    
Matthias Clasen committed
889
890
891
	* gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
	to gtkstatusicon.c and gtktrayicon-x11.c

892
893
894
	* gtk/gtkaccelgroup.c: Include Super, Hyper and Meta in the
	default accel mod mask.

Matthias Clasen's avatar
Matthias Clasen committed
895
896
897
898
899
900
901
902
903
904
	* gtk/gtkaccelgroup.c (gtk_accelerator_parse): 
	* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
	Don't use GDK_ALT_MASK.

	* gdk/gdktypes.h: No need to introduce GDK_ALT_MASK

2005-09-06  Matthias Clasen  <mclasen@redhat.com>

	Add support for extra virtual modifiers:  (#85780, Owen Taylor)
	
905
906
907
908
909
910
911
912
913
914
	* tests/testgtk.c (create_key_lookup): Add tests for extra virtual
	modifiers.

	* gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Try to match both against
	Mod2 - Mod5 and against Super, Hyper, Meta.

	* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label): 
	* gtk/gtkaccelgroup.c (gtk_accelerator_parse) 
	(gtk_accelerator_name): Support Super, Hyper Meta and Mod2 - Mod5.

915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
	* gdk/x11/gdkkeys-x11.c (struct _GdkKeymapX11): Add a 
	modmap to maintain the information which X modifiers map to
	virtual modifiers.
	(get_xkb): Set up the modmap from the XKB tables.
	(update_keymaps): Set up the modmap from the information returned
	by XGetModifierMapping in the non-XKB case.

	* gdk/x11/gdkprivate-x11.h: 
	* gdk/x11/gdkkeys-x11.c (_gdk_keymap_add_virtual_modifiers): New 
	function to set the virtual modifiers in the state.

	* gdk/x11/gdkevents-x11.c (translate_key_event): Call 
	_gdk_keymap_add_virtual_modifiers here.

	* gdk/gdktypes.h (GdkModifierType): Add bits for virtual Super, 
	Hyper and Meta modifiers. Also add GDK_ALT_MASK as an alias
	for GDK_MOD1_MASK.

933
934
935
936
937
2005-09-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaction.c (connect_proxy): Set the label of a button
	if it has no child.  (#315253, John Finlay)

Matthias Clasen's avatar
Matthias Clasen committed
938
939
940
941
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

	* gtkimcontextsimple.h: Add a modifiers_dropped bit

942
943
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

944
945
946
947
948
	* gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
	on destroy to avoid problems when they are called on a destroyed
	widget.  (#315135, John Cupitt)
	
	* gtk/gtkentry.c (gtk_entry_class_init):
949
950
951
	* gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
	for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)

952
953
954
955
956
957
958
959
960
961
962
963
964
	* gtk/gtkimcontextsimple.c: Rework the Unicode hex input
	code. Now we only steal a single key combination, Ctrl-Shift-U,
	instead of sixteen. 
	A hex Unicode sequence must be started with Ctrl-Shift-U, followed
	by a sequence of hex digits entered with Ctrl-Shift still held.
	Releasing one of the modifiers or pressing space while the modifiers
	are still held commits the character. It is possible to erase
	digits using backspace.
	As an extension to the above, we also allow to start the sequence
	with Ctrl-Shift-U, then release the modifiers before typing any
	digits, and enter the digits without modifiers.
	(#82011, Owen Taylor)
	
965
966
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

967
968
969
	* gtk/gtkmain.c (gtk_get_event_widget): If the window is destroyed,
	we still need to deliver the destroy event.  (#314980, Chris Lahey)

970
971
972
	* gtk/gtktextview.c (gtk_text_view_key_press_event): Reset 
	im context before committing \n or \t.

973
974
975
976
977
978
2005-09-02  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkfilechooserdefault.c: (shortcuts_add_volumes),
	(shortcuts_activate_volume):
	Handle base_path being null in the rest of the cases (#310270)

979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
2005-09-02  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Keep track of
	cursor position also in root window coordinates. Prune out
	superfluous WM_MOUSEMOVE events even earlier, based on root window
	coordinates. Windows sends WM_MOUSEMOVE messages after a new
	window has ben mapped below the cursor even if the mouse doesn't
	move. We used to generate GDK_MOTION_NOTIFY in these cases. This
	confused at least gtk_menu_motion_notify(). (#314995)

	* gtk/gtkintl.h: No need to include config.h here. It caused
	warnings about GTK_LOCALEDIR being redefined on Win32 when
	compiling files where gtkintl.h is included after gtkprivate.h
	(which #undefines and re-#defines GTK_LOCALEDIR on Win32).

	* gtk/gtkplug.c: Include config.h.

Matthias Clasen's avatar
Matthias Clasen committed
996
997
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

998
999
1000
1001
	* gtk/gtkfilesystemunix.c: Pass statbufs down to 
	xdg_mime_get_mime_type_for_file() where possible, to avoid
	useless re-stating.  
	
1002
1003
1004
	* gtk/gtkaction.c (gtk_action_get_accel_closure): Fix doc
	typo.  (#314921, Guillaume Cottenceau)

Matthias Clasen's avatar
Matthias Clasen committed
1005
1006
1007
1008
1009
	* gdk/*.c: Intern some more strings.
	* gtk/gtkintl.h: 
	* gtk/*.c: Define an I_() macro and use it instead of the 
	bulky g_intern_static_string().

1010
2005-08-31  Matthias Clasen  <mclasen@redhat.com>
Matthias Clasen's avatar
Matthias Clasen committed
1011
1012
1013
1014
1015
1016

	* gtk/gtkbindings.c (binding_signal_new): Intern the signal name
	instead of copying it.

	* gtk/gtktypeutils.c (gtk_identifier_get_type): Some more string interning.

1017
1018
	* gtk/*.c: Also intern static strings passed to 
	g_object_set_data().
1019

1020
1021
1022
1023
1024
1025
1026
1027
	* gdk/Makefile.am: 
	* gtk/Makefile.am: Intern type names in code generated by 
	glib-mkenums, too.

	* gtk/*.c: 
	* gdk/x11/*.c: 
	* gdk/*.c: Intern type names before registering the type to avoid 
	unnecessary copies.
1028
1029
1030

	* configure.in: Require GLib 2.9.0

1031
1032
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

1033
1034
1035
	* gtk/gtktoolbar.c: Undeprecate gtk_toolbar_set_icon_size(),
	and add icon-size and icon-size-set properties.  (#314172)	

1036
1037
1038
	* gtk/gtkwindow.c (gtk_window_set_transient_for): Inherit window
	groups across transient parents.  (#312918, Christian Persch)

1039
1040
1041
	* gtk/gtktreemodel.c: Some documentation fixes.  (#314882,
	Guillaume Cottenceau)

1042
1043
1044
	* gtk/gtktextiter.c (gtk_text_iter_backward_visible_cursor_positions): 
	Fix a typo in the docs.  (#314878, Guillaume Cottenceau)

1045
1046
2005-08-30  Matthias Clasen  <mclasen@redhat.com>

1047
1048
1049
1050
	* gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
	make C-/ select all and C-\ unselect all.  (#309301,
	Kathy Fernandez)

1051
1052
1053
1054
1055
1056
	* gtk/gtkimcontextsimple.c: Change the compose sequence for
	soft hyphen to be multi_key-minus-minus-space, and add
	compose sequences multi_key-minus-minus-period and 
	multi_key-minus-minus-minus for en dash and em dash.
	(#172653, Christian Lohmaier)

1057
1058
1059
	* gtk/gtkentry.c (gtk_entry_draw_frame): Fix some unused
	code.  (#313946, Christian Persch)

1060
1061
1062
	* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Another
	fix for the default value of the "ui" property.

1063
1064
2005-08-30  Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
Matthias Clasen committed
1065
1066
	* gtk/gtk.symbols: 
	* gtk/gtkselection.h:
1067
1068
1069
1070
1071
	* gtk/gtkselection.c: Add functions which look for text, image
	or uri targets in an array of atoms.   (#314089, Mark Wielaard)

	* gtk/gtk.symbols: 
	* gtk/gtkselection.h:
Matthias Clasen's avatar
Matthias Clasen committed
1072
1073
1074
1075
	* gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
	Add a function to check wether targets include uri.  
	(#314092, Mark Wielaard)
	
1076
1077
1078
1079
1080
1081
	* gtk/gtk.symbols: 
	* gtk/gtkwindow.h: 
	* gtk/gtkwindow.c: Add a deletable property with getter
	and setter, to control the close button in the window 
	frame.  (#59718, Havoc Pennington)

1082
1083
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

1084
1085
1086
	* gtk/gtkrc.key.emacs: Add C-n/C-p/C-f/C-b as alternatives
	to the arrow keys for menu navigation.  (#162825, Carl Worth)

Matthias Clasen's avatar
Matthias Clasen committed
1087
1088
	* gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes

Matthias Clasen's avatar
Matthias Clasen committed
1089
1090
	* gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.

1091
1092
1093
1094
	* gtk/gtkstatusicon-x11.c (gtk_status_icon_new_from_stock): 
	* gtk/gtkimage.c (gtk_image_new_from_stock): Don't
	refer to nonexisting stock ids.

1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
	* gtk/gtktextview.c (popup_targets_received): 
	* gtk/gtkentry.c (popup_targets_received): Construct
	the "Select All" menuitem from stock.

	* gtk/stock-icons/stock_select_all_{16,24}.png:
	* gtk/stock-icons/Makefile.am: 
	* gtk/gtkiconfactory.c:
	* gtk/gtkstock.h: 
	* gtk/gtkstock.c: Add a "Select All" stock item.  (#78545,
	Calum Benson)

Matthias Clasen's avatar
Matthias Clasen committed
1106
1107
	* gtk/gtktrayicon.c: Add a pointer to the spec.

Matthias Clasen's avatar
Matthias Clasen committed
1108
1109
1110
1111
	* gtk/gtkstatusicon-x11.c: Add docs.

	* gtk/gtkstatusicon.h: Fix a typo.

1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
	Add a cross-platform "tray icon" API, by
	porting EggStatusIcon/EggTrayIcon (#105101)
	
	* gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
	displays an icon in a notification area.

	* gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
	X11, using GtkTrayIcon.

	* gtk/gtktrayicon.h: 
	* gtk/gtktrayicon.c: An implementation of the freedesktop.org
	system tray specification, not public API.

	* gtk/gtk.symbols: Add new exported functions.

	* gtk/gtk.h: Include gtkstatusicon.h.

	* gtk/Makefile.am: Add new files.

	* tests/Makefile.am:
	* tests/teststatusicon.c: Test for GtkStatusIcon.

1134
1135
1136
1137
2005-08-29  Christopher Aillon  <caillon@redhat.com>

	* gtk/gtkstock.c: Add builtin GtkStockItems for GTK_STOCK_CONNECT
	and GTK_STOCK_DISCONNECT
1138
	
1139
1140
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

1141
1142
1143
	* gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
	Use XFixesChangeSaveSet if available.  (#314682)

1144
1145
1146
	* gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
	was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)

1147
1148
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

1149
1150
1151
1152
	* gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
	accidentally leftover duplicate pixbuf creation.  (#314700,
	Kjartan Maraas)

1153
1154
1155
	* gtk/gtksettings.c (settings_update_cursor_theme): Don't 
	leak the cursor theme name.  (#314693, Kjartan Maraas)

1156
1157
1158
	* gdk/x11/gdkasync.c (_gdk_x11_get_window_child_info): Free 
	state.children in all cases.  (#313862, Kjartan Maraas)

Matthias Clasen's avatar
Matthias Clasen committed
1159
1160
1161
1162
1163
2005-08-28  Matthias Clasen  <mclasen@redhat.com>

	* po/POTFILES.in, po-properties/POTFILES.in:
	Add gdk/gdkscreen.c

1164
1165
2005-08-27  Matthias Clasen  <mclasen@redhat.com>

1166
1167
1168
	* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Fix the default
	value of the ui property. (#314532, Yong Wang)

1169
1170
1171
	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Don't warn
	when G_MAXLONG is passed as length.  

1172
1173
1174
1175
1176
2005-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/updateiconcache.c: Add a separate --ignore-theme-index option
	to avoid overloading --force.  (JP Rosevaar)

1177
1178
2005-08-26  Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
Matthias Clasen committed
1179
1180
	* configure.in: Bump version to 2.9.0

1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
	* gdk/gdk.symbols: 
	* gdk/gdkscreen.h: 
	* gdk/gdkscreen.c: Make the GdkScreen font options api
	public, and add properties GdkScreen::font-options and
	GdkScreen::resolution.  (#314004)

	* gdk/gdkpango.c:
	* gtk/gtksettings.c:
	* gtk/gtkwidget.c: Adjust all callers.
	
	* gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
	* gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
	* gdk/gdkscreen.c: Include gdkintl.h.

1195
1196
1197
	* gtk/gtkicontheme.c (theme_lookup_icon): Avoid an uninitialized
	variable warning, pointed out by Colin Walters. (#314585)

1198
1199
1200
1201
1202
1203
2005-08-26  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c: Remove some ifdeffed out debugging
	printouts.
	(gtk_file_system_win32_parse): Don't mishandle UNC paths. (#314519)

1204
1205
1206
1207
1208
2005-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcalendar.c (gtk_calendar_init): Fix the calculation
	of week_start.  (#314473, JP Rosevaar)

1209
1210
1211
1212
1213
2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gtk/gtkfilesystemmodel.c (idle_finished_loading_cb): Acquire GDK
	lock.  (#314533, Thomas Fitzsimmons)

1214
1215
1216
1217
1218
2005-08-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores): Handle
	NULL gracefully.  (#314523, Ed Catmur)

Owen Taylor's avatar
Owen Taylor committed
1219
1220
1221
1222
1223
2005-08-25  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): 
	Handle theme == NULL.

1224
1225
1226
1227
1228
1229
2005-08-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenutoolbutton.c (menu_position_func): Take widget
	y offset into account when positioning the popup.  (#314470,
	Christian Persch)

1230
1231
1232
2005-08-25  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkscreen.c (gdk_screen_get_type): Use gdk_screen_init
Owen Taylor's avatar
Owen Taylor committed
1233
1234
	as instance_init, not base_init! (#314452, Fix from Frederic
	Crozat,	reported by Joe Marcus Clarke). Trivial cleanup: use -1.
1235
1236
	rather than 1 for a negative flag value.

1237
1238
1239
1240
1241
2005-08-24  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpango.c (draw_error_underline): Add a note about
	cut-and-paste between here and Pango.

1242
1243
2005-08-24  Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
2.8.2    
Matthias Clasen committed
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
	* === Released 2.8.2 ===

	* gtk/gtkclipboard.c (request_image_received_func): Use the correct
	callback for image/gif, and also try image/bmp.  (#314086,  Mark 
	Wielaard)

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon): 
	Use gnome-dev-harddisk for volumes, not gnome-fs-blockdev.  (#314382,
	Sebastien Bacher)
	
Matthias Clasen's avatar
Updates    
Matthias Clasen committed
1254
1255
	* NEWS: Updates

1256
1257
1258
1259
	* gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
	and cursor settings get propagated down to the screen initially.
	Pointed out by Frederic Crozat.

1260
1261
1262
	* gtk/gtkicontheme.c (ensure_valid_themes): Don't try to send a client
	message if the screen is NULL. Noticed by Kjartan Maraas.

Matthias Clasen's avatar
2.8.1    
Matthias Clasen committed
1263
1264
2005-08-24  Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
Matthias Clasen committed
1265
1266
	* Bump version

Matthias Clasen's avatar
2.8.1    
Matthias Clasen committed
1267
1268
1269
1270
	* === Released 2.8.1 ===

	* NEWS: Updates
	
Matthias Clasen's avatar
Matthias Clasen committed
1271
1272
1273
1274
1275
1276
2005-08-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_visible): Protect
	against lazy filterers which return values other than TRUE or
	FALSE from their visible func.  (#314335)

1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
2005-08-23  Owen Taylor  <otaylor@redhat.com>

	Fix for #314004, reported by Michael Reinsch:

	* gdk/gdk.symbols:
	* gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
	Add gdk_screen_get/set_resolution_libgtk_only()

	* gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
	the options for the screen on the newly created context.

	* gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c: 
	Move font options and dpi code from gtkwidget.c to gtksettings.c, set
	the font options on the screen.

	* gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
	the font options from the screen and set them on the context.

1295
1296
1297
1298
1299
1300
2005-08-23  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
	bother inserting new rows in a level with a zero refcount and
	immediately free the level. (Fixes #312350, reported by Markku Vire).

1301
1302
2005-08-23  Matthias Clasen  <mclasen@redhat.com>

1303
1304
1305
1306
	* gtk/updateiconcache.c: Complain when there is no index.theme file
	in the specified directory, unless --force is used. Also add an
	--index-only option to create caches without image data.

1307
1308
1309
	* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
	C99ism.  (#314262, Robert Jeff Mitchell)
	
1310
1311
1312
1313
1314
1315
2005-08-22  Manish Singh  <yosh@gimp.org>

	* gtk/gtkicontheme.h: add declaration for _gtk_icon_theme_check_reload.

	* gtk/gtkwindow.c: remove declaration of gtk_window_read_rcfiles.

1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
2005-08-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c (gtk_window_client_event): 
	* gtk/gtkicontheme.c (ensure_valid_themes) 
	(_gtk_icon_theme_check_reload): Implement a clientmessage based
	scheme for makeing sure that all GTK+ applications notice if an
	icon theme has been updated. This should prevent multiple versions
	of an icon theme cache to be mapped in memory at the same time,
	which can cause excessive memory consumption.  (#313156, Chris 
	Lahey)

1327
1328
2005-08-22  Matthias Clasen  <mclasen@redhat.com>

1329
1330
1331
1332
1333
1334
1335
1336
1337
	* gtk/gtkicontheme.c (gtk_icon_theme_load_icon): Add a note
	regarding icon theme changes.

	* gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): When returning
	pixbufs which are backed by the mmapped memory of an icon cache,
	increase the refcount of the icon cache, so that the memory is not
	munmapped away underneath the pixbuf upon icon theme changes.  
	(#314170, Kjartan Maraas)

1338
1339
1340
	* docs/tools/Makefile.am (LDADDS): Add GTK_DEP_LIBS, in order 
	to link against Xext.  (#314062)

1341
1342
1343
	* gtk/gtkhsv.c (paint_triangle): One more fix to prevent buffer
	overruns.  (#314081, Hans Breuer)

1344
1345
1346
1347
1348
2005-08-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_get_layout): Clarify that the
	returned layout must not be modified.

1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
Sat Aug 20 16:12:14 2005  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): clear
	scroll_to_path if the model changes.

	* gtk/gtkiconview.c: (gtk_icon_view_destroy),
	(gtk_icon_view_size_allocate), (gtk_icon_view_set_cursor),
	(gtk_icon_view_scroll_to_path): Handle scrolling to a path before
	we're realized, #312798
	(gtk_icon_view_set_model): clear scroll_to_path if the model
	changes.

1361
1362
1363
1364
1365
1366
2005-08-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrange.c (gtk_range_adjustment_changed) 
	(gtk_range_adjustment_value_changed):  Don't queue a draw
	if the layout has not changed.  (#313991, Benjamin Berg)

1367
1368
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

1369
1370
1371
	* gtk/gtktreeitem.c: Remove duplicate lines.  (#313344,
	Benoit Carpentier)

Matthias Clasen's avatar
Matthias Clasen committed
1372
1373
1374
	* modules/engines/ms-windows/msw_style.c (setup_system_styles): 
	Fix a typo. 

1375
1376
1377
1378
1379
	* gtk/gtkfilechooserbutton.c (change_icon_theme) 
	(model_add_special, model_add_special, model_add_volumes):
	Handle pixbuf being NULL without warnings. Also, don't
	leak pixbuf references when the icon theme is changed.

1380
1381
1382
1383
	* gtk/gtkmain.c (gtk_get_event_widget): Don't access
	the user data on destroyed windows, since at best
	it can be a stale pointer.  (#313953, Robin Green)	

1384
1385
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

1386
1387
1388
	* gtk/gtkhsv.c (paint_triangle): Avoid a buffer overrun.  
	(#313900, Sebastien Bacher)

1389
1390
1391
	* gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Return
	FALSE if the tree is empty.  (#313891, Guillaume Cottenceau)

1392
1393
1394
1395
1396
1397
1398
1399
	* gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display) 
	(xdnd_read_actions, get_client_window_at_coords_recurse): 
	Free data returned from XGetWindowProperty. 

	* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window) 
	Free data returned from XGetWindowProperty.  (313867, Kjartan
	Maraas)
	
1400
1401
1402
	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
	children in all cases.  (#313862, Kjartan Maraas)

1403
1404
1405
1406
1407
	* gtk/gtkicontheme.c (theme_lookup_icon): Store GtkIconData structs 
	in the per-directory hash, even if they come from the icon cache. 
	We tried to avoid that before, but as a result leaked icon data
	structs.  (#313852, Kjartan Maraas)

1408
1409
1410
1411
1412
2005-08-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_destroy): Disconnect
	signal handlers on destroy, not on finalize.  (#313759, Brett Atoms)

1413
1414
1415
1416
1417
2005-08-15  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add -lXext to GDK_EXTRA_LIBS in absence of pkg-config
	files for x11/xext. (Jonas Bonn)

1418
1419
1420
1421
1422
2005-08-15  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkicontheme.c (theme_lookup_icon): Put debugging printout
	inside GTK_NOTE.

1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
2005-08-15  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Fix have_base_pc / have_base_x_pc typo.

	* gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
	(#313417, James Andrewartha)

	* configure.in: Add fontconfig to X_PACKAGES, since we use it for
	FcNameConstant(). (More of #313417)

1433
1434
2005-08-15  Matthias Clasen  <mclasen@redhat.com>

1435
1436
1437
1438
1439
1440
1441
1442
	* gtk/gtkfilechooserdefault.c: When using gtk_dialog_run() for
	modal dialogs, make sure to inherit the window group from 
	the parent, since we don't inherit window groups across
	transient parents currently.  (#312918, Christian Persch)

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new): 
	* gtk/gtkdialog.c (gtk_dialog_run): Slight update to the docs. 

1443
1444
1445
1446
	* gtk/gtkiconview.c (gtk_icon_view_select_path) 
	(gtk_icon_view_scroll_to_path): Handle paths of depth 0
	gracefully.  (#312796, Jonathan Blandford)

1447
1448
1449
1450
1451
1452
1453
	* tests/testtoolbar.c: Add some more tests for menu placement.

	* gtk/gtkmenutoolbutton.c (menu_position_func): 
	* gtk/gtktoolbar.c (menu_position_func): Improve positioning
	of toolbutton menus and of the overflow menu.  (#312937, 
	#153870, Christian Persch, Paolo Borelli)

1454
1455
1456
1457
1458
2005-08-15  Tor Lillqvist  <tml@novell.com>

	* gtk/updateiconcache.c: Use g_path_get_dirname() instead of
	the nonportable <libgen.h> and dirname().

1459
1460
2005-08-15  Matthias Clasen  <mclasen@redhat.com>

1461
1462
1463
1464
1465
	* gtk/gtksizegroup.c: Use object data to mark widgets and
	groups as visited, so that we avoid constant extra list
	traversals. Also allocate quarks in class_init.  (#311618,
	Michael Natterer)

1466
1467
1468
1469
	* gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon): Correct the 
	download location for the hicolor icon theme. (#313475, Olexiy 
	Avramchenko)

1470
1471
	* gtk/gtkicontheme.c: Remove debug spew. 

1472
1473
1474
1475
1476
1477
1478
1479
2005-08-15  Owen Taylor  <otaylor@redhat.com>

	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap): 
	* gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap): 
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
	Handle pixmap == NULL when checking for a colormap.
	(Allin Cottrell).

1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
2005-08-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/updateiconcache.c: Store only one copy of the pixel data
	for symlinked icons. To achieve this, maintain a hashtable 
	mapping pathnames to pixel data, and share the pixel data for
	all symlinks resolving to the same pathname. When writing out
	the image data, write out the pixel data only the first time
	it is met, and store the offset pointing to the first copy
	for use in all later cases.
	This reduces the size of the Bluecurve icon cache from 40
	to 13MB. (#312972)