summaryrefslogtreecommitdiff
path: root/ChangeLog.pre-2-10
blob: b77532329bc21830d7125c90882bce510eddd962 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
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
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
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
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
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
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
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
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2006-04-30  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystemmodel.c (got_root_folder_cb), (ref_path_cb),
	(get_children_get_folder_cb): don't leak the handle,
	(got_root_folder_cb), (get_children_get_folder_cb): emit
	row-inserted for the newly added nodes.

2006-04-30  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (file_list_drag_data_select_uris),
	(file_list_drag_data_received_get_info_cb),
	(file_list_drag_data_received_cb): refactor code for selecting
	multiple uris into file_list_drag_data_select_uris().

2006-04-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb): don't
	leak handle,
	(change_icon_theme_get_info_cb), (set_info_get_info_cb),
	(model_add_special_get_info_cb), (update_label_get_info_cb): ditto.

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
	don't leak the handle,
	(get_file_info_finished), (edited_idle_create_folder_cb),
	(file_list_drag_data_received_get_info_cb),
	(show_and_select_paths_get_folder_cb),
	(update_current_folder_get_info_cb), (add_shortcut_get_info_cb),
	(confirmation_confirm_get_info_cb), (action_create_folder_cb),
	(save_entry_get_info_cb), (shortcuts_activate_volume_mount_cb),
	(shortcuts_activate_get_info_cb), (update_from_entry_get_info_cb):
	ditto.

	* gtk/gtkfilechooserentry.c (load_directory_get_folder_callback):
	don't leak the handle.

	* gtk/gtkpathbar.c (set_button_image_get_info_cb),
	(gtk_path_bar_get_info_callback): don't leak the handle.

2006-04-23  Kristian Rietveld  <kris@imendio.com>

	Review.

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
	don't forget to unref data->impl at the end.

2006-04-23  Kristian Rietveld  <kris@imendio.com>

	Review, continued.

	* gtk/gtkfilechooserdialog.c (response_cb): set response_requested
	to FALSE after stopping emission of the response signal.

2006-03-16  Kristian Rietveld  <kris@imendio.com>

	More review work.

	* gtk/gtkfilechooserprivate.h: remove idle_finished_loading_source
	from GtkFileSystemModel.

	* gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): remove
	idle_finished_loading_source,
	(idle_finished_loading_cb), (queue_finished_loading): removed,
	(got_root_folder_cb): save a list walk, immediately emit
	finished-loading and don't queue it, since we are already in an
	idle here, always list_children() so the children the folder already
	has are returned, 
	(_gtk_file_system_model_new): handle the case where NULL is
	returned by _get_folder(),
	(_gtk_file_system_model_path_do): remove comment, and append the
	new handle to the list, don't try to remove,
	(get_children_get_folder_cb): save a list walk, remove the dummy
	child if the _get_folder() call fails or is cancelled.

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	More suggestions from Federico.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
	remove check for filename_is_root(), since we never hit that code
	and else mkdir will fail anyway,
	(gtk_file_system_unix_create_folder): fixup parent folder refresh
	code.

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystemunix.c (read_hidden_file), (fill_in_hidden),
	(get_is_hidden_for_file): factor out g_file_get_contents() code
	in read_hidden_file().  (Federico Mena Quintero).

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	Icon name code suggestions by Federico Mena Quintero.

	* gtk/gtkfilesystemunix.c: add GTK_FILE_INFO_ICON to
	STAT_NEEDED_MASK,
	(get_fallback_icon_name), (get_fallback_icon),
	(get_icon_name_for_directory), (get_special_icon_name): get rid
	of strdups,
	(get_icon_type_from_path): add a statbuf argument and use the
	statbuf when folder_unix is NULL,
	(create_file_info): adapt to work with above changes.

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): path
	is NULL is an error here (gtk_file_system_get_info() already guards
	path = NULL),
	(gtk_file_system_unix_get_info): move basename creation to just
	before create_file_info().  (Federico Mena Quintero).

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystemunix.c (struct _GtkFileFolderUnix): add
	load_folder_id field,
	(load_folder): add thread enter/leave construct, set load_folder_id
	to zero since we have the idle removed when we return,
	(gtk_file_system_unix_get_folder): initialize load_folder_id to 0
	and store the source id of the load_folder idle,
	(gtk_file_folder_unix_finalize): remove the load_folder idle
	if necessary.  (Federico Mena Quintero).

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder): return
	NULL if there is no current folder path.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_map): we
	reload the current folder if there is one, else we continue the
	still pending load.

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	Merge from HEAD to get rid of some warnings (simplifies debugging).

	Thu Feb 23 13:28:21 2006  Tim Janik  <timj@imendio.com>

	* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale): remove unconditional
	warnings about missing X locale support. Gdk properly handles this
	situation anyway.

2006-03-14  Kristian Rietveld  <kris@imendio.com>

	Couple of fixes from Markku Vire.

	* gtk/gtkfilesystem.c (gtk_file_info_copy): also strdup icon_name
	and display_key.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
	initialize error to NULL,
	(gtk_file_folder_unix_list_children): return an empty list for now if
	we couldn't read the directory.

2005-12-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb),
	(gtk_file_chooser_default_update_current_folder): set and unset
	busy cursor while checking whether the given path is a folder.

2005-12-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystem.h: change the GtkFileInfo argument of the
	GetInfoCallback to be const.

	* gtk/gtkfilechooserbutton.c, gtk/gtkfilechooserdefault.c,
	gtk/gtkpathbar.c: changes functions to reflect the above change.

2005-12-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c, gtk/gtkfilechooserprivate.h: keep track
	of handles, cancel all pending operations on dispose.

2005-12-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserprivate.h (struct _GtkFileSystemModel): add
	pending_handles field,
	(struct _FileModelNode): add load_pending flag.

	* gtk/gtkfilesystemmodel.c (gtk_file_system_model_dispose): introduce, 
	cancel all pending operations here,
	(got_root_folder_cb), (_gtk_file_system_model_new), (ref_path_cb),
	(_gtk_file_system_model_path_do): keep track of all pending
	operations, handle cancelled operations.

2005-12-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
	(gtk_file_chooser_button_destroy): move all handle cancellations
	and object unrefs to destroy.

	* gtk/gtkpathbar.c (gtk_path_bar_finalize), (gtk_path_bar_dispose):
	likewise.

	* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_class_init): 
	add dispose,
	(gtk_file_chooser_entry_dispose): cancel handles and unrefs
	objects here instead of finalize.

2005-12-23  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystem.c (get_cached_icon): check if "name" is an
	absolute path, if so load the icon from that file.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): fix
	the build.

2005-12-21  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): remove
	the FIXME since it doesn't make sense, when we return a cached
	folder we won't emit finished-loading either,
	(gtk_file_system_unix_create_folder): remove unused variable,
	(gtk_file_folder_unix_list_children): remove unused code,
	(get_is_hidden_for_file): new function,
	(create_file_info): also handle getting is_hidden when called
	without a folder unix (from _system_get_info() for example).

2005-12-20  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (check_is_folder): fully removed!
	woo!,
	(check_save_entry): add is_folder argument,
	(gtk_file_chooser_default_get_paths): update check_save_entry() call,
	(get_display_name_for_folder): removed,
	(confirmation_confirm_get_info_cb): new function which will
	handle the confirmation dialog now we have all information for it,
	(should_respond_after_confirm_overwrite): replace the call to
	get_display_name_for_folder() with an asynchronous solution,
	(action_create_folder_cb): request dialog response on successfull
	folder creation,
	(gtk_file_chooser_default_should_respond): update call to
	check_save_entry(); replace the check is folder call for "path"
	by just using the is_folder return value from check_save_entry();
	replaced the check is folder call for "parent_path" with an
	asynchronous setup, remainder of that work is now done in
	save_entry_get_info_cb(),
	(save_entry_get_info_cb): new function.

	* gtk/gtkfilechoosermebed.[ch]: add response-requested signal.

	* gtk/gtkfilechooserdialog.c, gtk/gtkfilechooserprivate.h: handle
	response_requested signal.

	* gtk/gtkfilechooserentry.[ch]
	(_gtk_file_chooser_entry_get_is_folder): new function.

2005-12-20  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (ref_path_cb): when called with
	!folder, check if node is the node we are looking for (can be
	triggered when we call ref_path_cb ourselves after a find_child_node),
	(_gtk_file_system_model_path_do): introduce parent_node field;
	after finding a child node in a loaded parent node, don't forget
	to call ref_path_cb,
	(get_children_get_folder_cb): don't forget to set data->node->folder
	to the newly acquired folder.

2005-12-20  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (show_and_select_paths_get_folder_cb):
	handle case where the folder we get already finished loading.

	* gtk/gtkfilesystemmodel.c (ref_path_cb),
	(_gtk_file_system_model_path_do): make this work.

2005-12-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_update_count): modify
	in such a way that it can also negatively update the count on
	failures,
	(get_file_info_finished): handle failures, update save folder
	combo box on success,
	(shortcuts_insert_path): change the boolean return value into a
	void one, also refilter the model and update the save folder combo
	box for the non-asynchronous case,
	(shortcuts_append_home), (shortcuts_append_desktop),
	(shortcuts_add_volumes), (shortcuts_add_current_folder),
	(add_shortcuts_get_info_cb): adapt to shortcuts_insert_path() updates.

2005-12-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkpathbar.[ch]: add handle fields to ButtonData and
	GtkPathBar; do correct handle bookkeeping.

	* gtk/gtkfilesystemunix.c (load_folder),
	(gtk_file_system_unix_get_folder),
	(gtk_file_folder_unix_is_finished_loading): add is_finished_loading
	field to GtkFileFolderUnix, which is set to true once we are
	really finished with loading (previous assumption that we are
	always finshed loading is not true anymore).

	* gtk/gtkfilesystemmodel.c (got_root_folder_cb): if the folder is
	finished loading, list the children and update the root level.

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	handle cancellation.

2005-12-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c: small fix to make it actually work in this
	branch.

	* gdk/gdkevents.c: same.

2005-12-16  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystemunix.c: always call the callback, even when
	cancelled; ref handles passed to the callback queue functions;
	don't set cancelled to TRUE in _cancel_operation(), since operations
	in this backend are always completed,
	(get_special_icon_name): don't strdup the value of
	get_icon_name_for_directory() again.

	* gtk/gtkfilechooserbutton.c: adapt to new cancellation policy;
	reference all objects which are passed as callback arguments; in the
	callback check if the handles match.

	* gtk/gtkfilechooserentry.c: likewise.

	* gtk/gtkfilechooserdefault.c: likewise.  Also changed the shortcut
	loading code to be more like the code in GtkFileChooserButton, where
	we store all handles in the model and have model_row_free_data
	cancel any pending operations,
	(shortcuts_model_create): copy the error.

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): remove
	loading_volumes and loading_bookmarks fields.

	* gtk/gtkfilesystem.c (gtk_file_info_free): free icon_name here...

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): fix
	thinko.

	* gtk/gtkfilesystemunix.c (dispatch_create_folder_callback),
	(queue_create_folder_callback): need to copy/free the path,
	(gtk_file_system_unix_create_folder): put the "reget folder" hack
	back in, though it's working different now.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
	(dnd_select_folder_get_info_cb), (gtk_file_chooser_drag_data_received),
	(change_icon_theme_get_info_cb), (change_icon_theme),
	(model_add_special_get_info_cb), (model_add_special),
	(update_label_get_info_cb), (update_label_and_image): cancel existing
	operations, if any; added apprioriate fields to
	GtkFileChooserButtonPrivate.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_finalize): if
	there's a folder loading, cancel the operation,
	(load_directory_get_folder_callback): set the loading folder handle
	to NULL,
	(load_directory_callback): cancel any currently loading folders
	before starting a new get folder operation.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): don't overwrite
	data if it's already set (for example by the "is volume" case).

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
	(set_info_for_path_at_iter): store a row reference in the temporary
	data structure and not an iter,
	(model_add_special), (model_update_current_folder),
	(gtk_file_chooser_button_add_shorcut_folder): remove unused pixbuf
	variable.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (get_file_info_finished),
	(shortcuts_insert_path): replace gtk_file_system_render_icon() call
	with gtk_file_system_get_file_info(),
	(gtk_file_chooser_default_add_shortcut_folder),
	(gtk_file_chooser_default_remove_shortcut_folder): handle shortcuts
	which are still loading.

	* gtk/gtkfilechooserprivate.h: add shortcuts_loading field to
	struct _GtkFileChooserDefault.

	* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
	(set_info_for_path_at_iter), (model_free_row_data): keep handle
	and path together; now supports adding/removing shortcuts
	which are still loading.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystem.c: make the cancelled field an GObject property.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystem.h: make the GError argument in the callbacks
	const.

	* gtk/gtkfilechooserbutton.c: update callbacks,
	* gtk/gtkfilechooserentry.c: likewise,
	* gtk/gtkfilechooserdefault.c: likewise,
	* gtk/gtkfilesystemmodel.c: likewise,
	* gtk/gtkpathbar.c: likewise.

	* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): copy
	the error which will be passed to error_creating_folder_dialog(),
	(action_create_folder_cb): likewise,
	(file_list_drag_data_received_get_info_cb): add forgotten GError
	declaration.

2005-12-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkpathbar.c (get_button_image), (set_button_image),
	(set_button_image_get_info_cb),
	(gtk_path_bar_update_button_appearance): update to new icon
	rendering call.

2005-12-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (file_list_drag_data_received),
	(gtk_file_chooser_default_add_shortcut_folder),
	(shortcuts_activate_get_info_cb): replace synchronous check_is_folder
	calls with an async gtk_file_system_get_info() solution.

2005-12-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilesystem.c (icon_cache_element_free), (icon_theme_changed),
	(get_cached_icon), (gtk_file_info_render_icon): implement pixbuf
	caching as found in the file system backends.

2005-12-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtk.symbols: updated.

	* gtk/gtkfilesystem.[ch] (struct GtkFileInfo): added icon_name field,
	(enum GtkFileInfoType): added GTK_FILE_INFO_ICON,
	(gtk_file_info_set_icon_name): new function,
	(gtk_file_info_render_icon): new function,
	(gtk_file_system_render_icon): removed.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon): removed,
	(create_file_info): fill icon_name field if required,
	(get_*_icon): modified to suit create_file_info() better.

	* gtk/gtkfilechooserbutton.c: modified to use
	gtk_file_info_render_icon() instead of gtk_file_system_render_icon().

	* gtk/gtkfilechooserdefault.c: likewise.

2005-12-06  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (get_file_info_finished),
	(update_current_folder_get_info_cb): fix mem leaks.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): ditto.

	* gtk/gtkpathbar.c (gtk_path_bar_set_path_finish): ditto.

2005-12-06  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb),
	(gtk_file_chooser_button_drag_data_received): make asynchronous,
	(update_label_and_image): remove unused variable.

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_update_current_folder): split in two
	functions, so we can have the is_folder check back.
	* gtk/gtkfilechooserprivate.h: add update_current_folder_handle
	field.

2005-12-06  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkfilechooserdefault.c (show_and_select_paths): fixed a typo.

2005-12-05  Federico Mena Quintero  <federico@ximian.com>

	(merge from HEAD)

	* gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
	modifiers", not "event->state && modifiers".  Patch by Sadrul
	Habib Chowdhury <imadil@gmail.com>.  Fixes bug #323073.

2005-12-06  Kristian Rietveld  <kris@imendio.com>

	Beginnings of an asynchronous file chooser.

	* gtk/gtkfilechooserbutton.c: display name and the is folder property
	are now asynchronously set using set_info_for_at_path_iter(), the
	is folder property is now also stored in the tree model.

	* gtk/gtkfilechooserdefault.c: lots of changes to the shortcuts
	model code to make it operate asynchronously, check_is_folder() has
	been "disabled" for now, all other synchronous calls were
	replaced with asychronous ones.

	* gtk/gtkfilechooserentry.c: update call to 
	gtk_file_system_get_folder().

	* gtk/gtkfilechooserprivate.h: added two fields.

	* gtk/gtkfilesystem.[ch]: for about 85% changed to the changes
	outlined in the proposal discussed on gtk-devel-list.

	* gtk/gtkfilesystemmodel.[ch]: updated all asynchronous calls,
	_gtk_file_system_model_path_do() basically had to be rewritten
	(and I still need to finish that).

	* gtk/gtkfilesystemunix.c: changed to be compatible with the new
	GtkFileSystem interface.

	* gtk/gtkpathbar.c (button_clicked_cb): block/unblock the
	button_clicked_cb callback around the call to
	gtk_toggle_button_set_active(), avoids button_clicked_cb getting
	called twice.
	(_gtk_path_bar_set_path): refactored to be asynchronous.

Tue Dec  6 10:32:17 2005  Tim Janik  <timj@gtk.org>

	* gtk/gtkstatusbar.c: ported memchunk uses to g_slice, so the code
	compiles again.

2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c: 
	* gtk/gtkuimanager.c: 
	* gtk/gtktreedatalist.c: 
	* gtk/gtktext.c: 
	* gtk/gtkmain.c: 
	* gtk/gtkitemfactory.c: 
	* gtk/gtkseparator.[hc]:
	* gtk/gtkclist.[hc]: 
	* gtk/gtkctree.c:
	* gtk/gtkgc.c: Use g_slice instead of mem chunks.

2005-12-05  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkevents-x11.c: map the new GtkSettings properties
	"timeout-initial", "timeout-repeat", "color-scheme" and
	"enable-enimations" to X settings.

2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkevents.c: 
	* gdk/gdkcolor.c: Use g_slice instead of mem chunks.

	* gtk/gtktreeview.c (gtk_tree_view_key_press): Free new_event
	after sending it to the search entry.  (#323209, Crispin Flowerday)

	* README.in: Add a note about GTK_FLOATING.

	* gtk/gtkobject.h (GTK_OBJECT_FLOATING): Use g_object_is_floating.

2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktoolbutton.c (clone_image_menu_size): Don't leak
	a pixbuf.  (#323024, Paolo Borelli)

2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystemunix.c (get_icon_for_mime_type): Don't crash
	if mime_type is NULL.  (#322998, Sadrul Habib Chowdhury)

2005-12-02  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenu.c: applied modified patch from maemo-gtk which
	adds a "horizontal-padding" style property. Fixes bug #323036.

2005-12-01  Michael Natterer  <mitch@imendio.com>

	Merged modified patch from maemo-gtk that allows to disable
	toolbar animations. Addresses bug #142582.

	* gtk/gtksettings.c: added boolean property "gtk-enable-animations".
	(patch from Christian Neumair)

	* gtk/gtktoolbar.c: don't animate toolbar changes if the settings
	property is FALSE. Replaced the individual "notify::foo"
	connections to GtkSettings by a single "notify" callback and
	dispatch internally.

2005-12-01  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenu.c (gtk_menu_class_init): removed redundant
	assignment of widget_class->motion_notify_event.

2005-11-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktoggleaction.c (gtk_toggle_action_class_init): Add 
	an active property.  (#322673, Jorn Baayen)

	Properly handle model changes in GtkTreeSelection: (#322569,
	Milosz Derezynski)
	
	* gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): 
	Get a reference to the model, and stop the iteration if the model
	of the treeview is changed on the way.

	* gtk/gtktreeprivate.h: 
	* gtk/gtktreeselection.c (_gtk_tree_selection_emit_changed): New 
	private function to emit the GtkTreeSelection::changed signal.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Call 
	_gtk_tree_selection_emit_changed() when the model changes.

2005-11-28  Federico Mena Quintero  <federico@ximian.com>

	Fixes the critical warnings from bug #317999, thus fixing the bug
	completely:

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_get_paths): In SELECT_FOLDER mode,
	use _gtk_file_chooser_get_current_folder_path() instead of fetching the
	impl->current_folder directly.  The latter may be null if we are
	in RELOAD_NONE state.

2005-11-28  Federico Mena Quintero  <federico@ximian.com>

	Fix bug #321560, based on a patch by Bogdan Nicula (bogdanni@hotmail.com):

	* gtk/gtkfilechooserdefault.c (up_folder_handler): Don't add the
	current_folder to the pending select paths here; the path bar will
	give it to us now.
	(path_bar_clicked): Add the child_path to the pending select paths
	here.
	(show_and_select_paths): Don't filter out folders.
	(show_and_select_paths): Don't take separate arguments for
	only_one_path and multiple paths.

	* tests/autotestfilechooser.c (test_folder_switch_and_filters):
	New test about preserving the filters when we change folders.

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

	* gtk/gtkscale.c (_gtk_scale_format_value): Insert an LRM, to prevent
	-20 to come out as 20- in RTL locales.  (#322571, Tze'ela Hebron)

	* gtk/gtkaction.c (gtk_action_sync_button_stock_id) 
	(connect_proxy): Buttons use the label property for stock ids.  (#322565,
	Milosz Derezynski)

	* gtk/gtkiconview.c (update_text_cell, update_pixbuf_cell): Correctly
	handle the cell list and indices into it.  (#321856)

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

	* gtk/gtktooltips.c (gtk_tooltips_timeout): Set timer_tag to 0 when
	the timeout is done.  (#322291, Jean-Yves Lefort)

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

	* gtk/gtkfilechooserdefault.c (shortcuts_key_press_event_cb): Make
	F2 work for renaming bookmarks.  (#320822, Jaap A. Haitsma, patch
	by Paolo Borelli)

2005-11-28  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_urgency_hint):
	Implement the conditional use of FlashWindowEx() properly for MSVC
	compilations. The code was confusingly assuming that if compiled
	with a "new" compiler, it will only be run on "new" Windows
	versions. We want it to run on "old" versions, too, even if
	compiled with a "new" compiler. There are two orthogonal issues:
	whether the compiler defines the necessary API in its headers, and
	whether it is present at run-time. (#318077)

	* gtk/gtkcalendar.c (gtk_calendar_init): Use GetLocaleInfo() on
	Windows to get the localized weekday and month names. strftime()
	in the Microsoft C library returns strings in the default codepage
	for the locale of the process, not the system codepage. Thus
	g_locale_to_utf8() isn't useable on the return value from
	strftime(). (#322603)

2005-11-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmessagedialog.c (gtk_message_dialog_new_with_markup): 
	Fix an example.  (#322493, Elie De Brauwer)
	
	Fix two memory handling problems in GtkTreeView: (#322350, 
	Søren Sandmann)
	
	* gtk/gtktreeview.c (gtk_tree_view_destroy) 
	(gtk_tree_view_set_model): Remove all references to nodes in
	the old model.
	(gtk_tree_view_real_collapse_row): Unmark expanded_collapsed_node
	before removing the children.

	* gtk/gtkcolorbutton.c (gtk_color_button_init): Don't leak a 
	PangoLayout here.  (#322505, Paolo Borelli)

2005-11-27  Tor Lillqvist  <tml@novell.com>

	Once again rework Win32 window decoration code. Doesn't break
	#104514. The dialogs in gtk-demo now have the same decorations and
	behaviour as on X11. Tried to fix #322516 but it seems very hard
	to make the trivial sample program there behave as expected. OTOH,
	simply moving the gtk_window_decorate() call in the #322516 sample
	program after the call to gtk_widget_show() helps...
	    
	* gdk/win32/gdkwindow-win32.c (set_or_clear_style_bits): Revert to
	the correct semantics. Each call to gdk_window_set_decorations()
	which calls this function is supposed to affect all decorations.

	(decorate_based_on_hints): New function, looks at both geometry
	hints and type hint and sets window decorations based on
	that. Consolidate code from gdk_window_set_geometry_hints() and
	gdk_window_set_type_hint() here.

	(gdk_window_set_geometry_hints, gdk_window_set_type_hint): Call
	decorate_based_on_hints().

2005-11-25  Dom Lachowicz <cinamod@hotmail.com>

	* modules/engines/ms-windows/*.[ch]: Merge with gtk-wimp's CVS.
	Includes improved menu icon spacing, [+]/[-] expander drawing,
	status-bar gippie drawing, and notebook tab drawing.
	
2005-11-24  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktoolbar.h (struct _GtkToolbar): changed two private guint
	that used to hold signal handler IDs to two guint of padding.

	* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): added them as
	gulong here.

	(gtk_toolbar_screen_changed): changed accordingly.

Wed Nov 23 18:55:47 2005  Tim Janik  <timj@imendio.com>

	* gtk/gtkobject.[hc]: deprecated floating/sink API and implemented it
	in terms of the GObject floating/sink API.

	* gtk/gtkaboutdialog.c:
	* gtk/gtkaction.c:
	* gtk/gtkcellview.c:
	* gtk/gtkclist.c:
	* gtk/gtkcolorsel.c:
	* gtk/gtkcombobox.c:
	* gtk/gtkfilechooserdefault.c:
	* gtk/gtkiconview.c:
	* gtk/gtkinvisible.c:
	* gtk/gtkitemfactory.c:
	* gtk/gtklayout.c:
	* gtk/gtkmenu.c:
	* gtk/gtkmenutoolbutton.c:
	* gtk/gtknotebook.c:
	* gtk/gtkprogress.c:
	* gtk/gtkrange.c:
	* gtk/gtkspinbutton.c:
	* gtk/gtkstatusicon.c:
	* gtk/gtktext.c:
	* gtk/gtktextview.c:
	* gtk/gtktoolbar.c:
	* gtk/gtktoolbutton.c:
	* gtk/gtktoolitem.c:
	* gtk/gtktreeitem.c:
	* gtk/gtktreeview.c:
	* gtk/gtktreeviewcolumn.c:
	* gtk/gtkuimanager.c:
	* gtk/gtkviewport.c:
	* gtk/gtkwidget.c:
	* gtk/gtkwindow.c:
	ported to use GObject's g_object_ref_sink().

	* gtk/gtkcolorsel.c:
	* gtk/gtkfilechooserdefault.c:
	* gtk/gtkaboutdialog.c:
	fixed compiler warnings.

2005-11-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_class_init): Add some docs
	about gtk-color-scheme.

2005-11-23  Behdad Esfahbod  <behdad@gnome.org>

	* configure.in (enable_explicit_deps): Fix typo when checking
	libtool config deplibs_check_method. Moreover, enable explicit
	deps if we get anything other than pass_all from libtool. (part of
	#318750)

2005-11-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/updateiconcache.c (write_csource): Don't create a big
	string, since Visual C++ doesn't like strings longer than 64k. 
	(#322238, Kazuki IWAMOTO

	* gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
	Kazuki IWAMOTO)

2005-11-23  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkrc.c (gtk_rc_reset_widgets): don't leak all toplevel
	windows on other screens (correctly remove all temporary
	references).

2005-11-23  Michael Natterer  <mitch@imendio.com>

	Added symbolic themable colors. Patch is a merged version of
	proposals from Matthias and maemo-gtk. Fixes bug #114355.

	* configure.in: require glib >= 2.9.1 for refcountable hashtables.

	* gtk/gtksettings.c: added property "color-scheme" which is a
	string defining colors like "foreground:black\nbackground:grey".
	Automatically provide a name->GdkColor hash table mapping for the
	color scheme.

	* gtk/gtkrc.[ch]: added list of color hashes that works like the
	list of icon factories. Append the color scheme hash from
	GtkSettings if it exists. Extended gtkrc syntax to allow defining
	and referencing of logical colors. Also allow to modulate colors
	in gtkrc by using arbitrary expressions of mix(), shade(),
	lighter() and darker(). Added internal function
	_gtk_rc_style_get_color_hashes().

	* gtk/gtkstyle.[ch]: keep a private list of color hashes around.
	Get the list from _gtk_rc_style_get_color_hashes(). Export
	internal function _gtk_style_shade() (used by above color
	expressions). Added public API gtk_style_lookup_color() which
	looks up a logical color by name.

	* gtk/gtk.symbols: add gtk_style_lookup_color

	* tests/testgtkrc: use symbolic colors for making
	the scrollbars red.

2005-11-22  Michael Natterer  <mitch@imendio.com>

	Made button-press timeouts which work like key repeat timeouts
	configurable. Addresses bug #142582:

	* gtk/gtksettings.c: added properties "gtk-timeout-initial" and
	"gtk-timeout-repeat" which defalt to 200/20 (ms).

	Use the values from GtkSettings instead of hardcoding them
	(the repeat value is either taken as-is for fast repeat or
	multiplied by 5 for slow repeat). Changed all places to use these
	two standard initial/repeat timings:

	* gtk/gtkcalendar.c (unchanged 200/20)
	* gtk/gtknotebook.c (unchanged 200/100)
	* gtk/gtkpathbar.c (changed from 300/150 to 200/100)
	* gtk/gtkrange.c (changed from 250/100 to 200/100)
	* gtk/gtkspinbutton.c (unchanged 200/20)

2005-11-21  Anders Carlsson  <andersca@imendio.com>

        * configure.in:
        * gtk/Makefile.am:
        * gdk/Makefile.am:
	* gdk/quartz/*:
	Add quartz backend.
	
        * docs/tools/Makefile.am:
	Only build docshooter when the X11 backend is used.
	
        * gtk/gtkplug-stub.c:
	Include gtkplug.h here.
	
        * gtk/gtksocket-stub.c:
	Include gtksocket.h here.
	
2005-11-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkinputdialog.c: Convert GtkInputDialog to 
	g_type_class_add_private.

	* gtk/gtksocket.c: Convert GtkSocket to g_type_class_add_private.

	* gtk/gtkmenu.c: Convert GtkMenu to g_type_class_add_private.

	* gtk/gtk.symbols:
	* gtk/gtkcombobox.[hc]: Add a tearoff-title property,
	with getter and setter.  (#316482, Olexiy Avramchenko)

	* tests/testcombo.c (main): Test gtk_combo_box_set_title

	* gtk/gtkpathbar.c: Merge remaining fixes from the 2.8 branch,
	pointed out by Michael Natterer.

	Fix for bug #321542, Benedikt Meurer:
	
	* gtk/gtkcombobox.c (gtk_combo_box_set_active_internal):
	Emit notify::active.
	
	(gtk_combo_box_child_show, gtk_combo_box_child_hide): Use
	g_signal_emit, not g_signal_emit_by_name.

2005-11-18  Matthias Clasen  <mclasen@redhat.com>

	Fix crashes in connection with pathbar scrolling (#321560,
	Bogdan Nicula)
	
	* gtk/gtkpathbar.c (gtk_path_bar_update_slider_buttons): 
	Stop scrolling when desensitising slider buttons.
	(gtk_path_bar_scroll_timeout, gtk_path_bar_slider_button_press): 
	And use it here.  

	* gtk/gtkpathbar.h (struct _GtkPathBar): Add a separate
	scrolling_down flag.

2005-11-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpathbar.c (button_clicked_cb): Fix a C99ism.
	(#321777, Jens Granseuer)

	* gtk/gtkaction.c (disconnect_proxy): Disconnect the
	sync callback for the visibility property.  (#321761,
	Philip Langdale)

	Turn off input methods in invisible entries, since
	they are confusing.  (#317002, James Su)
	
	* gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
	methods if visibility changes.
	(popup_targets_received): Don't show the input method
	menu if the entry is invisible.  

2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* README.in: Add a note about range arrow sensitivity.

	* perf/treeview.c: const correctness fixes
	found by Arjan van de Ven and gcc.

2005-11-16  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkimage.c (animation_timeout): call
	gtk_window_process_updates() so the animation keeps running even
	if the main loop is busy with sources that eat a lot of cpu with
	high priority. Fixes bug #321444.

	(gtk_image_new_from_animation): document the fact that the
	animation will stop running if the main loop is busy with sources
	that have priorities higher than G_PRIORITY_DEFAULT.

	* tests/testimage.c: added test case that shows an animation even
	though a cpu-eating idle function is running.

2005-11-16  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
	function which destroys the display's event source. Also removes
	the source from the global display_sources list and unrefs it.

	* gdk/x11/gdkprivate-x11.h: declare the function.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
	instead of half-destroying the source here.

2005-11-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_move): Fix a memory
	leak.  (#321032, Peter Zelezny)

2005-11-15  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
	display->xid_ht as late as possible (right before XCloseDisplay)
	because it still needs to be around when the display's screens are
	finalized. (#85715)

2005-11-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkselection.c (gtk_selection_data_set_uris): Don't
	leak result.  (#321441, Tommi Komulainen)

2005-11-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (gtk_icon_theme_get_icon_sizes):
	Don't crash if there is no builtin icon.

2005-11-14  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_set_property):
	removed redundant calls to g_object_notify().

2005-11-13  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkcolor.c (gdk_color_parse): Documentation 
	improvements.  (#321338)

	* gtk/gtktextiter.c (gtk_text_iter_forward_search): Make
	limit an inclusive boundary.  (#321299)

2005-11-12  Michael Natterer  <mitch@imendio.com>

	* gtk/Makefile.am: fixed icon rules so gtkbuiltincache.h is only
	rebuilt if needed.

2005-11-12  Dom Lachowicz <cinamod@hotmail.com>

	* modules/engines/ms-windows/msw_style.c: Bug #313627. Make win32 
	theme's handling of toolbars, handleboxes, and menubars more in-line
	with Microsoft's IE style.
	* modules/engines/ms-windows/*.c: Indentation cleanups
	
2005-11-12  Matthias Clasen  <mclasen@redhat.com>

	Make builtin icons work in gtk_window_set_icon_name() 
	(#321046, Maxim Udushlivy)

	* gtk/gtkicontheme.c (insert_theme): Always insert the default
	theme.
	(ensure_valid_themes): Call _gtk_icon_theme_ensure_builtin_cache()
	from here.
	(theme_lookup_icon, find_builtin_icon): ...and not from here.
	(gtk_icon_theme_lookup_icon): Remove an unncessary assert.
	(gtk_icon_theme_get_icon_sizes): Also check builtin icons.

2005-11-12  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (filename_get_info): Don't hide
	dotfiles, no such convention on Win32. Just hide files with the
	hidden attribute. (#314627)

2005-11-11  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Do not
	check whether the path is a folder.  It is useful to bookmark
	files as well (e.g. todo.txt), and this will also help
	performance.
	(shortcuts_add_bookmark_from_path): Likewise.
	(shortcuts_activate_iter): Change folders or select files, as
	appropriate.

2005-11-11  Federico Mena Quintero  <federico@ximian.com>

	* tests/autotestfilechooser.c (main): Use
	g_log_set_default_handler() instead of explicitly setting a
	handler for each domain.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Only get
	the base path of the volume if it is mounted.

2005-11-11  Michael Natterer  <mitch@imendio.com>

	Added per-stepper API for GtkRange's stepper sensitivity as
	discussed in bug #321056:

	* gtk/gtkenums.h: added GtkSensitivityType which can be
	{ AUTO, ON, OFF }.

	* gtk/gtkrange.[ch]: added properties "lower-stepper-sensitivity"
	and "upper-stepper-sensitivity" and public getters/setters for
	them. Changed stepper drawing to honor the new properties.

	* gtk/gtk.symbols: added the new symbols.

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

	* gtk/gtkcombobox.c: Add show-popup and hide-popup signals and
	emit them when the popup is shown or hidden.  (#162531, Tommi
	Komulainen)

	* tests/testcombo.c: Add an example of popuplating a combobox
	on click.

	* gtk/gtktreeview.c (gtk_tree_view_motion_resize_column): Another
	erroneous semicolon.

	* gdk/x11/gdkcolor-x11.c (gdkx_colormap_get): Remove an erroneous
	semicolon. 

	Don't corrupt odd keymaps (#316638, Kean Johnston)
	
	* gdk/x11/gdkkeys-x11.c (set_symbol): Auxiliary function to
	handle frobbing keymaps with odd numbers of syms/code.
	
	* gdk/x11/gdkkeys-x11.c (update_keymaps): Use set_symbol() to 
	frob the keymap.

	Improve navigation to parent folders.  (#318444, Andrei Yurkevich)
	
	* gtk/gtkpathbar.[hc]: Add a child_path argument to
	the path_clicked signal.
	* gtk/gtkfilechooserdefault.c (path_bar_clicked): Select the
	child_path, if it is provided.
	* gtk/marshalers.list (path_bar_clicked): Add the necessary
	glue.

	* gtk/gtkmenu.c: Fix some compiler warnings. (#321141,
	Kjartan Maraas)
	
	* gtk/gtk.symbols: 
	* gtk/gtktreeview.h: 
	* gtk/gtktreeview.c: Implement a getter for headers-clickable.
	(#163851, Richard Hult)

2005-11-10  Michael Natterer  <mitch@imendio.com>

	Applied patch from maemo-gtk that addresses many issues wrt
	display migration and display closing (bug #85715).

	* gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
	default display to NULL when it's closed. Instead set the most
	recently opened display as new default (if one exists).

	* gdk/gdkpango.c (on_renderer_display_closed): fixed signature
	of this callback.

	* gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
	exist before unrefing them.

	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
	is closed, allow destruction of the root window.

	* gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
	dispose(), free stuff that was leaked before.

	* gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
	the xsettings_client still exists before destroying it.

	* gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
	X resources.

	* gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
	dispose() implementation.

	* gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
	dispose() and check if it still exists before unrefing it. Set
	their pointers to NULL/None *after* upchaining in dispose(),
	because X11 implementations of members of the parent class still
	need them for their own destruction.

	* gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
	was g_error()ing when finalizing a visual.

	* gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
	get_clipboard_widget() because it would create the widget if it
	doesn't exist. Use g_object_get_data() directly instead.

	* gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
	of this callback.

2005-11-10  Simos Xenitellis  <simos@gnome.org>

	* configure.in: Added Tatar (tt) to ALL_LINGUAS.

Wed Nov  9 16:29:42 2005  Tim Janik  <timj@imendio.com>

	* gtk/gtkrange.c: patch from maemo-gtk that changes GtkRange
	to render its arrows insensitive when the adjustment is in
	its min or max position. this makes range arrow behaviour 
	consistent with spin button behaviour. (#321056)

2005-11-09  Tor Lillqvist  <tml@novell.com>

	* gdk/gdkinternals.h
	* gdk/gdk.c (gdk_debug_keys[]): Add new GDK_DEBUG_DRAW flag to
	the GdkDebugFlag enum.

	* gdk/win32/gdkdrawable-win32.c: Use DRAW to trigger GDK_NOTEs in
	this file instead of MISC. Now asking for MISC will give mainly
	window manipulation debugging output with the Win32 backend.

2005-11-09  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c: Remove unnecessary includes.

	(_gdk_win32_get_adjusted_client_rect): Remove this two-line
	function which was used only in one place.

	(get_outer_rect): Use _gdk_win32_adjust_client_rect().

	(gdk_window_set_geometry_hints): If we have identical minimum and
	maximum size hints, remove the resize and maximize
	decorations/functions. (#104514)

	If we have a maximum size hint, remove the maximize
	decoration/function but ensure the resize decoration/function is
	available. Otherwise ensure both resize and maximize
	decorations/functions are there.

	(set_or_clear_style_bits): Factored out common code from
	gdk_window_set_decorations() and gdk_window_set_functions(). 

	Hack the window style setting once more: Only touch the window
	style bits corresponding to the GdkWMDecoration or GdkWMFunction
	parameter bitmasks. Hopefully this finally is the correct thing to
	do. We used to clear all other bits than those that were being
	set, or set all other bits than those that were being cleared.

	Take into account that adding or removing decorations leaves the
	window's outer size unchanged, i.e., the client area's size and
	position change. This is apparently not what we want, so change
	also the window's (outer) position and size appropriately so that
	the client area's position and size stay constant.

	gtk-demo's color selector dialog is now non-resizable like on X11
	(I tested with metacity in GNOME). Torn off menus are shrinkable
	vertically but have a maximum size, and are not maximizable or
	minimizable, like on X11.

	(gdk_window_set_decorations, gdk_window_set_functions): Let
	set_or_clear_decorations() do most of the job.

	* gdk/win32/gdkprivate-win32.h: Remove declaration of
	_gdk_win32_get_adjusted_client_rect().

2005-11-09  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32)
	* gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_init,
	gdk_window_get_type_hint, gdk_window_get_type_hint): Store the
	type hint. Implement gdk_window_get_type_hint() by just returning
	the hint stored.

2005-11-09  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
	Remove code that has been permanently ifdeffed out for two years.

2005-11-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkgc.c (gdk_gc_finalize): Unref tile and stipple when
	finalizing a gc.  (#320789, Nickolay V. Shmyrev)

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Ignore
	icons if they would make the request large enough to cause
	Xlib to loose the connection.  (#320909, Claudio Saavedra)

2005-11-08  Michael Natterer  <mitch@imendio.com>

	* gdk/gdk.symbols
	* gdk/gdkwindow.h
	* gdk/x11/gdkwindow-x11.c: added gdk_window_get_type_hint() (patch
	extracted from maemo-gtk). Fixes bug #320872.

2005-11-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_reorder): Don't
	looks the bookmark label when reordering.  (#320720, Jeremy Cook)

	* gtk/gtkpathbar.[hc]: Set focus-on-click to FALSE for all buttons.
	Don't grab focus when a slider button is pressed, instead, use
	a bit in the pathbar struct to determine whether to scroll up
	or down.  (#314486, Carlos Garnacho)

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): 
	Don't popup the completions if the focus has already been
	moved somewhere else.  (#319914, Christian Persch)

	* gtk/gtktoolitem.c (_gtk_tool_item_toolbar_reconfigured): 
	Raise the drag_window after reconfiguring the 
	toolbar.  (#320803, Christian Persch)

	* gtk/gtk.symbols: 
	* gtk/gtkfilechooserbutton.h: 
	* gtk/gtkfilechooserbutton.c: Add a focus-on-click property
	with setter and getter.  (#318945, Christian Persch)
	
Mon Nov  7 16:15:16 2005  Tim Janik  <timj@imendio.com>

	* configure.in: fixed missing $X_CFLAGS setup in case x11.pc is present.

2005-11-07  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Adjust to the stock icon changes.
	
2005-11-07  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c (pixbuf_to_hbitmaps_normal):
	Correct the calculation of maskstride. (#320152, Peter Zelezny)
	
2005-11-06  Michael Natterer  <mitch@imendio.com>

	* gtk/Makefile.am (icons): fixed rule to actually create the
	symlinks, erroring out if anything goes wrong.

2005-11-06  Tor Lillqvist  <tml@novell.com>

	* gtk/updateiconcache.c (build_cache): Can't rename a file if the
	target exists on Win32. First rename the target temporarily, then
	if the renaming of the source to target fails, restore the
	original name for the target.

	* gtk/Makefile.am: Use EXEEXT in the dependency on gtk-update-icon-cache.

2005-11-06  Tor Lillqvist  <tml@novell.com>

	(pixbuf_to_hbitmaps_alpha_winxp): Use an 1-bit mask bitmap,
	like pixbuf_to_hbitmaps_normal().
	(_gdk_win32_pixbuf_to_hicon_supports_alpha): Check
	G_WIN32_IS_NT_BASED() first, so we can pretend being on Win9x by
	setting the G_WIN32_PRETEND_WIN9X environment variable.
	
2005-11-06  Tor Lillqvist  <tml@novell.com>

	Make icon masks work on Win98 (#320152, Peter Zelezny)

	* gdk/win32/gdkcursor-win32.c (create_color_bitmap): Take also a
	parameter for the depth of the bitmap, so that this function can
	be used to create 1-bit bitmaps, too.
	(pixbuf_to_hbitmaps_normal): Create an 1-bit bitmap for the mask,
	and initialize it properly.

2005-11-04  Matthias Clasen  <mclasen@redhat.com>

	Store builtin stock icons in an icon cache, instead of
	populating a hash table with pixbufs at startup, to save both
	memory and startup time.

	* gtk/stock-icons/*: Reorganize the icons in a directory structure
	suitable for gtk-update-icon-cache, and rename them to match the
	stock ids.

	* gtk/gtkiconcache.[hc]: Support non-mmapped icon caches, and
	add _gtk_icon_cache_has_icon_in_directory().

	* gtk/updateiconcache.c: Support a --source <VARIABLE> argument
	to store the contents of the icon cache in a C header.

	* gtk/gtkbuiltincache.h: Generated private header which contains 
	the icon cache for the builtin icons.

	* gtk/gtkicontheme.c: Create a GtkIconCache for the builtin
	icons, and use that in addition to the hash table whenever
	builtin icons are searched.

	* gtk/gtkiconfactory.c: Add GTK_ICON_SOURCE_STATIC_ICON_NAME and
	use it for static stock ids. 
	(get_default_icons): Don't add the builtin
	icons to the icon theme, just register the stock ids.
	(render_fallback_image): Take the fallback image out of the
	builtin icon cache.
	
	* gtk/Makefile.am: Remove stock-icons from SUBDIRS and add 
	the necessary machinery to rebuild gtkbuiltincache.h.

2005-11-04  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): applied patch
	from maemo-gtk that changes the mtime check for rc files from
	'>' to '!=', otherwise theme changes go unnoticed when turning
	back the clock (Tommi Komulainen).

2005-11-04  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c (gtk_status_icon_set_tooltip): Plug memory
	leak on Win32.

2005-11-03  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c: As there is only one GdkDisplay in
	the Win32 backend, check that GdkDisplay* parameters are equal to
	_gdk_display instead of using the unnecessarily general
	GDK_IS_DISPLAY().

	(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 uninitialized 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.

	* 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.

	* 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().
	
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().

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

	* 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)

	* 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)

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().

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

	* 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.

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

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

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??

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)

2005-10-28  Kristian Rietveld  <kris@gtk.org>

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

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

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

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

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

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

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

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").

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

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

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

	* 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)

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)

2005-10-26  Matthias Clasen  <mclasen@redhat.com>

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

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

	* 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)

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

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

	* 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)

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

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

	* tests/Makefile.am:
	* tests/testentrycompletion.c: Apply a patch by Christian
	Persch to add property editors.

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

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.

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

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

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

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

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.

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.

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).

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.
	
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)

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.

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.

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)

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.

2005-10-12  Stefan Kost  <ensonic@users.sf.net>

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

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.

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)

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

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

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.

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>.

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

	* gtk/gtkfilechooserdefault.c: Properly fix the unistd.h include
	by moving it out of the profiling ifdef.

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

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

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)

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

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

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

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.

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.

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)

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)

2005-10-03  Matthias Clasen  <mclasen@redhat.com>

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

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)

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.

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

	* 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. 

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

	* 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.

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

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

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

2005-09-29  Tor Lillqvist  <tml@novell.com>

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

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.

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.

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)

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

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

	* gtk/gtktexttag.h: 
	* gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
	to make this function work as boxed copy function.  (#317455,
	Gustavo Carneiro)

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

2005-09-28  Tor Lillqvist  <tml@novell.com>

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

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().

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.

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)

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().

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.

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.

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

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

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.

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.

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.

2005-09-20  Johan Dahlin  <jdahlin@async.com.br>

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

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.

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.
	
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)
	(gtk_icon_view_set_drag_dest_item): 
	(gtk_icon_view_scroll_to_path): Fix a typo in the docs.  (#316419,
	#316424, Guillaume Cottenceau)

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.

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 ...

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.

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

	* README.cvs-commits: fixed some tiny typos

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)

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.

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.

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.

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

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

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

	* 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.

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

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

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

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

	* 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. 

	* 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)

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

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

	* 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)

	* 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)

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.  

	* gdk/x11/*.c:
	* gtk/*.c:  Use gdk_atom_intern_static_string() where 
	appropriate.

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

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.

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)
	
	* gtk/gtkfontsel.c (gtk_font_selection_set_font_name): Handle 
	invalid fontnames better. (#136926, Michael R. Walton)
	
	Stop cursor blinking in non-editable regions of a text view.
	(#311508, Torbjörn Andersson)
	
	* 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)

	* tests/testgtk.c: Use GDK_MOD1_MASK, not GDK_ALT_MASK.

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

	* 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)

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

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

	* 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)

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.

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.

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

	* 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.

	* gtk/Makefile.am: Rename gtkstatusicon-x11.c and gtktrayicon.c
	to gtkstatusicon.c and gtktrayicon-x11.c

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

	* 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)
	
	* 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.

	* 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.

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)

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

	* gtkimcontextsimple.h: Add a modifiers_dropped bit

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

	* 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):
	* gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
	for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)

	* 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)
	
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

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

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

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)

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.

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

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

	* 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().

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

	* 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.

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

	* 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.

	* configure.in: Require GLib 2.9.0

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

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

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

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

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

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

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

	* 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)

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

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

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

	* gtk/gtk.symbols: 
	* gtk/gtkselection.h:
	* 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:
	* gtk/gtkselection.c (gtk_selection_data_targets_include_uri): 
	Add a function to check wether targets include uri.  
	(#314092, Mark Wielaard)
	
	* 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)

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

	* 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)

	* gtk/gtkentry.c, gtk/gtktextview.c: More typo fixes

	* gtk/gtksocket-x11.c, gtk/gtkstatusicon-x11.c: Fix typos.

	* 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.

	* 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)

	* gtk/gtktrayicon.c: Add a pointer to the spec.

	* gtk/gtkstatusicon-x11.c: Add docs.

	* gtk/gtkstatusicon.h: Fix a typo.

	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.

2005-08-29  Christopher Aillon  <caillon@redhat.com>

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

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

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

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

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

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

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

2005-08-28  Matthias Clasen  <mclasen@redhat.com>

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

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

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

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

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

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

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

	* configure.in: Bump version to 2.9.0

	* 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.

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

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)

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

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

2005-08-25  Thomas Fitzsimmons  <fitzsim@redhat.com>

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

2005-08-25  Matthias Clasen  <mclasen@redhat.com>

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

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

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

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)

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

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

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.

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

	* === 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)
	
	* NEWS: Updates

	* 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.

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

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

	* Bump version

	* === Released 2.8.1 ===

	* NEWS: Updates
	
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)

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.

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).

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

	* 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.

	* gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Fix a
	C99ism.  (#314262, Robert Jeff Mitchell)
	
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.

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)

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

	* 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)

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

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

2005-08-20  Matthias Clasen  <mclasen@redhat.com>

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

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.

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)

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

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

	* modules/engines/ms-windows/msw_style.c (setup_system_styles): 
	Fix a typo. 

	* 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.

	* 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)	

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

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

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

	* 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)
	
	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
	children in all cases.  (#313862, Kjartan Maraas)

	* 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)

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)

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)

2005-08-15  Tor Lillqvist  <tml@novell.com>

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

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)

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

	* 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. 

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

	* 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)

2005-08-15  Tor Lillqvist  <tml@novell.com>

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

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

	* 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)

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

	* gtk/gtkicontheme.c: Remove debug spew. 

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).

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)