ChangeLog 57.7 KB
Newer Older
1
2
2005-11-03  Tor Lillqvist  <tml@novell.com>

3
4
5
6
7
8
9
10
11
12
13
	* gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_alpha_winxp):
	Rename the variables for the color bitmap to have "color" in their
	name, for similarity with pixbuf_to_hbitmaps_normal(). Create a
	color bitmap for the mask, too, instead of creating a b&w bitmap
	with CreateBitmap(). Set up the mask bitmap's contents, ones for
	those pixels in the color bitmap where the alpha is zero, zero for
	other pixels. We used to use an unitialized mask bitmap! This
	meant that icons and cursors created presumably worked more or
	less by accident. Totally blank icons with zero alpha everywhere
	(as used by gtktrayicon.c) definitely did not work as expected.

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
	* gtk/Makefile.am: Include gtkstatusicon.c on all platforms.

	* gtk/gtkstatusicon.c: Implement for Win32. Use code from
	gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
	necessary and can be removed from CVS. It has never been mentioned
	in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
	are used on Win32. One label widget is used (but never shown) as
	gtk_widget_render_icon() needs a widget.

	Ifdefs used as necessary in several places. It might be cleaner to
	split out the backend-specific parts to separate files, or at
	least collect them into separate blocks in the file.

	(wndproc): New function. Window procedure to monitor mouse events
	in the system tray icon. Call gtk_status_icon_button_press() as
	needed.
	(create_tray_observer): New function. Creates a hidden window that
	only serves as a tray icon message observer.

33
34
35
36
37
38
	* tests/teststatusicon.c (icon_activated): Position the dialog
	with GTK_WIN_POS_CENTER.
	(do_quit): New function, hide and unref the GtkStatusIcon, and
	call gtk_main_quit().
	(popup_menu): Add a Quit menu item that calls do_quit().
	
39
40
41
42
43
44
45
46
47
48
49
50
51
2005-11-02  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcolor-win32.c
	* gdk/win32/gdkscreen-win32.c
	* gdk/win32/gdkwindow-win32.c: Whitespace consistency
	fixes. Remove superfluous test for GdkWindow* parameters being
	non-NULL. Testing GDK_IS_WINDOW() is enough. As there is only one
	GdkScreen and one GdkDisplay in the Win32 backend, use those
	variables instead of the getter functions. For GdkDisplay* and
	GdkScreen* parameters, check that they are equal to the
	corresponding singleton variables instead of the more general
	GDK_IS_DISPLAY() or GDK_IS_SCREEN().

52
53
2005-11-02  Matthias Clasen  <mclasen@redhat.com>

54
55
56
57
58
59
60
61
62
	* gtk/gtktextview.c: Remove some g_return_if_fail() from
	static functions, replace some others by g_assert().
	
	* gtk/gtktextview.c (selection_motion_event_handler) 
	(gtk_text_view_start_selection_drag): Keep track of the original
	selection boundaries during a drag selection, in order to correctly
	decide when to extend or shrink the selection.  (#320167,
	reported by Arvind S N, patch by Paolo Borelli)

63
64
65
66
67
	* gtk/gtktextbtree.c (_gtk_text_line_char_to_byte_offsets): 
	* gtk/gtktextiter.c (gtk_text_iter_backward_chars): Replace
	manual offset calculations by g_utf8_offset_to_pointer().
	(#320360, Paolo Borelli)

68
69
70
71
72
73
Tue Nov  1 16:18:24 2005  Tim Janik  <timj@imendio.com>

	* gtk/gtkrbtree.[hc]: get rid of GAllocator usage, allocate and free 
	nodes via the g_slice_*() API.
	_gtk_rbtree_new(): fixed wrong node allocation via g_new().

74
75
2005-11-01  Tor Lillqvist  <tml@novell.com>

76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c (_gdk_windowing_init): Add more
	pre-interned GdkAtoms and pre-registered clipboard formats. Sort
	their declarations, definitions and assignments into a more
	logical and consistent order.

	* gdk/win32/gdkmain-win32.c (_gdk_win32_cf_to_string): Include the
	CF_ prefix for the predefined clipboard format names. Put quotes
	around registered format names to distinguish them.
	
	* gdk/win32/gdkproperty-win32.c (gdk_property_change): Return
	immediately with a warning if the property type is STRING, TEXT,
	COMPOUND_TEXT or SAVE_TARGETS, as these are X11-specific that we
	should never pretend to handle on Win32. Handle only UTF8_STRING
	here, other formats with delayed rendering. Use \uc1 instead of
	\uc0 when generating Rich Text Format for easier testability on
	XP, where WordPad misinterprets \uc0 encoded characters. Add more
	GDK_NOTE debugging output for Clipboard operations.

	* gdk/win32/gdkselection-win32.c: Debugging printout improvements.
	(gdk_selection_convert): Don't pretent to handle STRING, just
	UTF8_STRING. Streamline error handling, don't unnecessarily have a
	GError which then isn't used for anything anyway if it gets set.
	(gdk_win32_selection_add_targets): Skip also STRING, TEXT,
	COMPOUND_TEXT and SAVE_TARGETS in addition to UTF8_STRING.

103
104
	* config.h.win32.in: Sync with what configure produces.

105
106
107
	* configure.in: Don't look for X_PACKAGES unless building for
	x11. (#313986, John Ehresman)

108
109
110
111
112
2005-10-28  Erdal Ronahi  <erdal.ronahi@gmail.com>

	* configure.in: Added ku (Kurdish) to ALL_LINGUAS
			Wondered why there was no ku there before??

113
114
115
116
117
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
118
119
120
121
122
2005-10-28  Kristian Rietveld  <kris@gtk.org>

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

123
124
2005-10-28  Matthias Clasen  <mclasen@redhat.com>

125
126
127
	* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix the anchor of the default
	drag cursors.  (#319200, Federico Mena Quintero)

128
129
130
131
	* gtk/gtktreeview.c (gtk_tree_view_search_key_press_event): Handle
	Shift-G to go to the previous match, like firefox.  (#320061, Christian 
	Neumair)

132
133
134
	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
	C99ism.  (#320000, Kazuki Iwamoto)

135
136
137
	* gtk/gtkaboutdialog.c (gtk_about_dialog_init): Add the little 
	stars.  (#319985, Bastien Nocera)

138
139
140
	* 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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
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").

158
159
2005-10-27  Matthias Clasen  <mclasen@redhat.com>

160
161
162
163
	* gtk/gtktreeview.c (gtk_tree_view_button_press): Be more 
	careful about initializing cell_area.  (#319382, Tommi
	Komulainen)

164
165
166
	* gtk/gtkcombobox.c (gtk_combo_box_key_press): Don't eat
	Ctrl-PageUp/PageDown.  (#318670, Christian Neumair)

167
168
169
170
171
172
	* 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)

173
174
175
176
177
178
179
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
180
181
2005-10-26  Matthias Clasen  <mclasen@redhat.com>

182
183
184
	* gtk/gtktextbtree.c (gtk_text_btree_resolve_bidi): Only use text
	segments when determining text direction.  (#319065, Tommi Komulainen)

185
186
187
	* gtk/gtktreeview.c (gtk_tree_view_destroy): Don't crash
	on duplicate destroy.  (#318953, Gustavo Carneiro)

Matthias Clasen's avatar
Matthias Clasen committed
188
189
190
191
	* 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)

192
193
194
	* */Makefile.am: use $(GLIB_MKENUMS) instead of 
	glib-mkenums.  (#318582, Damien Carbery)

195
	* gtk/gtktreemodel.c (gtk_tree_model_rows_reordered): Clarify
196
	docs.  (#317682, Christian Neumair)
197

Matthias Clasen's avatar
Matthias Clasen committed
198
199
200
201
	* 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)

202
203
2005-10-25  Matthias Clasen  <mclasen@redhat.com>

204
205
206
207
	* 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
208
209
210
211
	* tests/Makefile.am:
	* tests/testentrycompletion.c: Apply a patch by Christian
	Persch to add property editors.

212
213
214
	* gtk/gtkstatusicon.c: Emit activate on single-click,
	not on double-click, change proposed by Milosz Derezynski.

215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
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.

233
234
2005-10-25  Matthias Clasen  <mclasen@redhat.com>

235
236
237
	* gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Add some
	more docs.  (#319722, Paolo Borelli)

238
239
240
241
	* gdk/x11/gdkxftdefaults.c (init_xft_settings): Make the 
	initialization of screen_x11->xft_rgba more explicit.  (#319627,
	Bogdan Nicula)

242
243
244
	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Fix whitespace
	in a blurb.  (#319499, Francisco Javier F. Serrador)

245
246
247
248
249
250
251
252
253
254
255
256
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.

257
258
259
260
261
262
263
264
265
266
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.

267
268
269
270
271
272
273
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).

274
275
276
277
278
279
280
281
282
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.
	
283
284
285
286
287
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
288
289
290
291
292
293
294
295
296
297
298
299
300
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.

301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
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.

319
320
321
322
323
324
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)

325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
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.

345
346
347
348
349
2005-10-12  Stefan Kost  <ensonic@users.sf.net>

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

350
351
352
353
354
355
356
357
358
359
360
361
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.

362
363
364
365
366
367
368
369
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)

370
371
372
373
374
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
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
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.

402
403
404
405
406
407
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>.

408
409
2005-10-07   Matthias Clasen  <mclasen@redhat.com>

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

413
414
415
	* gtk/gtkfilechooserdefault.c: Remove a redundant (and
	unconditional) include of unistd.h  (#318211, Kazuki Iwamoto)

416
417
418
419
	* 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
420
421
422
423
424
425
426
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)

427
428
2005-10-05  Matthias Clasen  <mclasen@redhat.com>

429
430
	* README.in: Start collecting release notes for 2.10.

431
432
433
434
	* gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
	leak fix, since the assertion failures were traced to 
	an xchat bug.  (#314696)
	
435
436
437
438
	* gtk/gtkstyle.c (gtk_style_detach):
	(gtk_style_attach):  Documentation improvements.
	(gtk_style_detach): Assert that the attach_count is > 0.

439
440
441
442
443
444
445
446
447
448
449
450
451
452
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.

453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
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.

468
469
470
471
472
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)

473
474
475
476
477
478
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)

479
480
481
482
483
2005-10-03  Matthias Clasen  <mclasen@redhat.com>

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

484
485
486
487
488
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)

489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
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.

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

508
509
510
511
512
	* 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. 

513
514
515
	* gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
	some cases.  (#317611, Tommi Komulainen)

516
517
518
519
	* 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.

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

522
523
524
	* gtk/gtkbutton.c (gtk_button_set_image): Check arguments.  (#317491,
	Paolo Borelli)

525
526
527
	* gtk/gtkpaned.c (gtk_paned_grab_notify): Stop drags when being
	grab shadowed.  (#317332)

528
529
530
531
2005-09-29  Tor Lillqvist  <tml@novell.com>

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

532
533
534
535
536
537
538
539
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.

540
541
542
543
544
545
546
547
548
549
550
551
552
553
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.

554
555
556
557
558
559
560
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)

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

563
564
565
	* gtk/gtkselection.c (_gtk_selection_request): Free mult_atoms 
	here. (#317039, Paolo Borelli)

Matthias Clasen's avatar
Matthias Clasen committed
566
	* gtk/gtktexttag.h: 
567
568
569
570
	* gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
	to make this function work as boxed copy function.  (#317455,
	Gustavo Carneiro)

571
572
573
	* gtk/gtkclipboard.c (request_image_received_func): Don't unref
	NULL.  (#316828, Tor Lillqvist)

574
575
576
577
578
2005-09-28  Tor Lillqvist  <tml@novell.com>

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

579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
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().

610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
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.

626
627
628
629
630
631
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)

632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
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().

656
657
658
659
660
661
662
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.

663
664
665
666
667
668
669
670
671
672
673
674
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.

675
676
677
678
679
2005-09-23  Matthias Clasen  <mclasen@redhat.com>

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

680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
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.

696
697
698
699
700
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.

701
702
703
704
705
706
707
708
709
710
711
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
712
713
714
715
716
2005-09-20  Johan Dahlin  <jdahlin@async.com.br>

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

717
718
719
720
721
722
723
724
725
726
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
727
728
729
730
731
732
733
734
735
736
737
738
739
740
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.
	
741
742
743
744
745
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
746
	(gtk_icon_view_set_drag_dest_item): 
747
	(gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
Matthias Clasen's avatar
Matthias Clasen committed
748
	#316424, Guillaume Cottenceau)
749

750
751
752
753
754
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.

755
756
757
758
759
760
761
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 ...

762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
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.

782
783
784
785
2005-09-18  Guilherme de S. Pastore  <gpastore@cvs.gnome.org>

	* README.cvs-commits: fixed some tiny typos

786
787
788
789
790
791
792
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)

793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
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.

816
817
818
819
820
821
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.

822
823
824
825
826
827
828
829
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.

830
831
2005-09-14  Tristan Van Berkom <tvb@cvs.gnome.org>

832
833
	* gtk/gtkcolorbutton.c: Check "color" argument in 
	gtk_color_button_set_color ()
834

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

837
838
839
840
841
	* 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.

842
843
844
	* gtk/updateiconcache.c (foreach_remove_func): Fix
	a use-after-free bug.  (#316256, Alexander Nedotsukov)

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

847
848
	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)

849
850
	* gdk/*.c: Various cleanups.  (#315359, Kjartan Maraas)
	
851
852
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

853
854
855
856
857
858
	* 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. 

859
860
861
862
	* 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)

863
864
865
	* gtk/gtkfilechooser.c (gtk_file_chooser_class_init): Add some docs.
	(#316001, Guillaume Cottenceau)

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

869
870
871
872
873
874
875
	* 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)

876
877
878
879
880
	* 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)

881
882
883
884
885
886
887
888
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.  

889
890
891
	* gdk/x11/*.c:
	* gtk/*.c:  Use gdk_atom_intern_static_string() where 
	appropriate.
892

893
894
895
896
897
898
899
900
901
902
903
904
905
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

906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
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.

927
928
929
930
931
932
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)
	
933
934
935
	* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
	invalid fontnames better. (#136926, Michael R. Walton)
	
936
937
	Stop cursor blinking in non-editable regions of a text view.
	(#311508, Torbjörn Andersson)
Matthias Clasen's avatar
Matthias Clasen committed
938
	
939
940
941
942
943
944
945
946
947
948
949
	* 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
950
	* tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.
951

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

955
956
957
958
	* 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)

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

961
962
963
	* gtk/gtktreeview.c (gtk_tree_view_get_visible_range): Document
	memory handling.  (#314975, Torsten Schoenfeld)

964
965
966
967
968
969
970
971
	* 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)

972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
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.

989
990
991
992
993
994
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.

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

997
998
999
1000
	* 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.